RAD-ID(1) Radicle CLI Manual RAD-ID(1)

rad-id - مدیریت تغییرات هویت یک مخزن Radicle.

rad id [<option>...]
rad id list [<option>...]
rad id update [--title <string>] [--description <string>] <option>...
rad id edit <revision-id> [--title <string>] [--description <string>] [<option>...]
rad id show <revision-id> [<option>...]
rad id accept | reject <revision-id> [<option>...]
rad id redact <revision-id> [<option>...]

دستور rad id برای مدیریت و پیشنهاد تغییرات در هویت یک مخزن Radicle استفاده می‌شود. هر مخزن دارای یک سند هویت (identity document) مرتبط است که شامل متادیتاهایی مانند نام مخزن، توضیحات و نمایندگان (delegates) است. سند هویت نسخه‌بندی می‌شود و تغییرات اعمال‌شده بر روی آن باید توسط حد نصاب (quorum) نمایندگان امضا شود.

سند هویت به‌صورت یک سند Canonical JSON ذخیره می‌شود.

بدون هیچ آرگومانی، rad id به‌طور پیش‌فرض دستور list را اجرا می‌کند که فهرستی از بازبینی‌های (revisions) هویت مخزن جاری را نشان می‌دهد.

فهرست کردن تمام بازبینی‌های سند هویت.

پیشنهاد یک بازبینی جدید برای سند هویت. بازبینی‌ها علاوه بر سند هویت به‌روزشده پیشنهادی، درست مانند کامیت‌های کد منبع دارای یک عنوان و توضیحات هستند.

اگر عنوان و توضیحات در خط فرمان مشخص نشوند، از شما خواسته می‌شود که از طریق ویرایشگر متنی خود آن‌ها را وارد کنید.

توجه داشته باشید که اگر شما تنها نمایندهٔ مخزن باشید، تغییرات پیشنهادی به‌طور خودکار پذیرفته شده و در سند هویت گنجانده می‌شوند.

--title <string>

تنظیم عنوان برای بازبینی جدید.

--description <string>

تنظیم توضیحات برای بازبینی جدید.

--delegate <did>

به‌روزرسانی هویت با افزودن یک نماینده جدید که با DID او مشخص می‌شود.

--rescind <did>

به‌روزرسانی هویت با حذف نماینده‌ای که با DID او مشخص می‌شود.

--threshold <num>

به‌روزرسانی هویت با تنظیم تعداد نمایندگان مورد نیاز برای پذیرش یک بازبینی.

--visibility <private> | <public>

به‌روزرسانی هویت با تنظیم میزان پدیداری مخزن روی خصوصی (private) یا عمومی (public).

--allow <did>

به‌روزرسانی هویت با اعطای دسترسی به یک همتای (peer) مشخص برای یک مخزن خصوصی.

--disallow <did>

به‌روزرسانی هویت با لغو دسترسی یک همتای مشخص به یک مخزن خصوصی. توجه داشته باشید که همتا ممکن است محتوای مخزن را تا لحظه لغو دسترسی در اختیار داشته باشد.

--payload <id> <key> <val>

به‌روزرسانی هویت با تنظیم متادیتا در یکی از محموله‌های (payloads) هویت. برای مثال، این گزینه می‌تواند برای به‌روزرسانی نام پروژه یا توضیحات مخزن استفاده شود. برای حذف یک فیلد از یک محموله، کافی است مقدار آن را روی null تنظیم کنید.

--no-confirm

عدم درخواست تایید پیش از ایجاد بازبینی.

--edit

باز کردن ویرایشگر شما ($EDITOR) برای ویرایش مستقیم محتوای JSON.

ویرایش یک بازبینی موجود از سند هویت. بازبینی باید همچنان در وضعیت «فعال» (active) باشد. همان گزینه‌های موجود برای update در اینجا نیز در دسترس هستند. توجه داشته باشید که این دستور یک بازبینی پیشنهادی هویت را ویرایش می‌کند؛ برای ویرایش خود سند هویت، از update استفاده کنید.

نمایش یک بازبینی مشخص از سند هویت.

پذیرفتن یک بازبینی پیشنهادی برای سند هویت. بازبینی باید در وضعیت «فعال» (active) بوده و فراخواننده باید یک نماینده باشد.

رد کردن یک بازبینی پیشنهادی برای سند هویت. بازبینی باید در وضعیت «فعال» (active) بوده و فراخواننده باید یک نماینده باشد.

حذف یا بازپس‌گیری (redact) یک بازبینی موجود از سند هویت. بازبینی نباید در وضعیت «پذیرفته‌شده» (accepted) باشد و فراخواننده باید نویسندهٔ بازبینی باشد.

--repo <rid>

مشخص کردن مخزنی که عملیات روی آن انجام می‌شود. پیش‌فرض مخزن جاری است.

--quiet, -q

جلوگیری از چاپ خروجی.

--help

نمایش اطلاعات راهنما.

برای افزودن یک نماینده جدید به مخزن و به‌روزرسانی حد نصاب، از دستور update استفاده کنید:

$ rad id update --title "Add Bob" --description "Add Bob as a delegate" \
    --delegate did:key:z6Mkt67GdsW7715MEfRuP4pSZxJRJh6kj6Y48WRqVv4N1tRk \
    --threshold 2

این دستور بازبینی جدیدی ایجاد می‌کند که پیشنهاد افزودن نمایندهٔ مشخص‌شده با DID ارائه‌شده را ثبت کرده و حد نصاب را روی 2 قرار می‌دهد، به این معنی که دو نماینده باید تغییرات بعدی هویت را امضا و تایید کنند.

برای تغییر وضعیت یک مخزن از عمومی به خصوصی:

$ rad id update --visibility private

توجه داشته باشید که برای اعمال این تغییر، نیاز به پذیرش توسط حد نصاب نمایندگان وجود دارد.

تغییر نام و توضیحات یک مخزن معمولاً از طریق محمولهٔ xyz.radicle.project انجام می‌شود:

$ rad id update --title "Update title and description" \
    --description "Improve clarity" \
    --payload xyz.radicle.project name '"radicle-beans"' \
    --payload xyz.radicle.project description '"Tasty Radicle beans"'

توجه داشته باشید که مقادیر ارائه‌شده به --payload، مانند "radicle-beans"، باید مقادیر معتبر JSON باشند. این به این معنی است که رشته‌ها باید همان‌طور که در مثال بالا نشان داده شده است، درون علامت نقل‌قول دوتایی (double quotes) قرار گیرند.

برای حذف یک نماینده و به‌روزرسانی حد نصاب، از گزینهٔ --rescind استفاده کنید:

$ rad id update --title "Remove Bob" \
    --description "Bob is no longer a delegate" \
    --rescind did:key:z6Mkt67GdsW7715MEfRuP4pSZxJRJh6kj6Y48WRqVv4N1tRk \
    --threshold 1

همانند افزودن یک نماینده، این تغییر نیز نیازمند تایید نمایندگان باقی‌مانده است. هنگام حذف نمایندگان، مطمئن شوید که حد نصاب جدید مناسبی تعیین می‌کنید!

برای به‌روزرسانی قوانین ارجاع‌های رسمی پروژه، هنگام به‌روزرسانی از گزینهٔ --payload xyz.radicle.crefs با کلید rules و شیء حاوی قوانین به عنوان مقدار استفاده کنید. نمونه‌ای از آن در ادامه آورده شده است:

$ rad id update --title "Update canonical reference rules" \
    --payload xyz.radicle.crefs rules '{
          "refs/heads/master": { "threshold": 1, "allow": "delegates" },
          "refs/tags/*": { "threshold": 2, "allow": "delegates" },
          "refs/tags/qa/*": { "threshold": 1, "allow": "delegates" }
      }'

علاوه بر این، می‌توانید از گزینهٔ --edit در دستور update استفاده کرده و محموله را مستقیماً ویرایش کنید. نمونه‌ای از آنچه مشاهده خواهید کرد به این صورت است:

{
  "payload": {
    "xyz.radicle.crefs": {
      "rules": {
        "refs/heads/master": {
          "allow": "delegates",
          "threshold": 1
        },
        "refs/tags/*": {
          "allow": "delegates",
          "threshold": 1
        },
        "refs/tags/qa/*": {
          "allow": "delegates",
          "threshold": 1
        }
      }
    },
    "xyz.radicle.project": {
      "defaultBranch": "master",
      "description": "Radicle Heartwood Protocol & Stack",
      "name": "heartwood"
    }
  },
  "delegates": [
    "did:key:z6MknSLrJoTcukLrE435hVNQT4JUhbvWLX4kUzqkEStBU8Vi"
  ],
  "threshold": 1
}

تیم Radicle

2026-08-28 rad 1.0.0