Sahiplik Değişikliklerine Genel Bakış
Bir kurulumun sahipliğini iki işlem değiştirir ve ikisi de tek bir kurulum (setup; bir düğümün tek bir ağdaki dağıtımı) kapsamında çalışır:
| İşlem | Zincirde ne değişir | Biçim | Endpoint'ler |
|---|---|---|---|
| Düğüm sahipliği değişikliği | Kurulum altında dağıtılmış her tokenize varlık düğümün yeni bir cüzdanına devredilir, ardından kurulumun diamond kontratındaki sahip adresi değiştirilir | Duraklatılabilen, devam ettirilebilen, yeniden denenebilen ve iptal edilebilen çok adımlı süreç | /v2/admin/nodes/{node_id}/change-owner-processes/** |
| Platform sahibi değişikliği | Kurulumun diamond kontratındaki platform sahibi adresi | Tek bir zincir üstü işlem | /v2/admin/nodes/{node_id}/platform-owner-changes |
İkisi için de geçerli kurallar
- Kurulumu ve cüzdanı çağıran seçer.
setup_idvenew_wallet_idzorunlu gövde alanlarıdır. Kurulum path'teki düğüme ait olmalı, cüzdan da kurulumun ağının zincirinde bulunmalıdır. Çağıran adına hiçbir şey çözümlenmez. - Değişikliği yalnızca platform sahibi başlatabilir ve yönetebilir. Her yazma işlemi (başlatma, duraklatma, devam ettirme, yeniden deneme, iptal) API anahtarının platform sahibi düğümüne (platform kökü) ait olduğunu kontrol eder. Başka bir anahtar, token'ı route'un iznini taşısa bile
403ve10005kodu alır. - Okumalar düğüm hiyerarşisini izler. Listeleme ve okuma, düğümü path'teki düğüm ya da onun bir üst düğümü olan her anahtara açıktır. Bu alt ağacın dışındaki bir düğüm
403ve10005kodu alır. - Bir kurulumda aynı anda tek değişiklik. Bir kurulumda
started,in_progressveyapauseddurumunda bir süreç varken ikinci bir düğüm sahipliği değişikliği20002ile reddedilir.startedveyain_progressdurumunda bir değişiklik varken ikinci bir platform sahibi değişikliği21002ile reddedilir.
Düğüm sahipliği değişikliği süreci
Sahiplik Değişikliği Sürecini Başlat adım listesini oluşturur ve süreci started durumunda 201 ile döndürür. Adımlar ardından arka planda, order sırasıyla, birer birer çalışır:
Adım type | Kaç tane | Zincir üstü işlem |
|---|---|---|
transfer_tokenized_assets | Kurulum altında dağıtılmış her token için bir tane (token_id token'ı belirtir) | Token'ın sahipliğini yeni sahip adresine devreder. Kurulumun düğümünde 36 tipli (TransferTokenizedAssetOwnership) bir düğüm işlemi olarak kaydedilir. |
change_node_owner | Bir tane, her zaman en sonda | Kurulumun diamond kontratındaki sahip adresini değiştirir. Platform sahibi düğümünde, kurulumun platform sahibi cüzdanını taşıyan 34 tipli (ChangeNodeOwnerAddress) bir düğüm işlemi olarak kaydedilir. |
Her adım zincir üstü bir işlemdir. Bir adım, işlemi onaylandığında completed olur (hash'i transaction_hash alanına yazılır) ve ancak o zaman sonraki adım gönderilir. Dağıtılmış token'ı olmayan bir kurulumun tek bir change_node_owner adımı vardır. Son adım tamamlandığında süreç completed olur ve kurulumun düğüm ücret alıcı cüzdanı yeni cüzdana taşınır.
Süreci izlemek için Sahiplik Değişikliği Sürecini Al uç noktasını yoklayın. Her adımın işlemi Node İşlemlerini ID ile Al listesinde de görünür.
Süreç durumu
status | Anlamı |
|---|---|
started | Oluşturuldu; ilk adım henüz gönderilmedi. |
in_progress | Bir adım yürütülüyor. |
paused | Durduruldu: ya çağıran duraklattı ya da bir adım başarısız oldu. Devam ettirilene kadar yeni adım gönderilmez. |
completed | Tüm adımlar tamamlandı. Son durum. |
failed | Durum sözlüğündeki bir son durum. Başarısız olan bir adım bu durumu yazmaz: adım failed, süreç paused olur. |
cancelled | Çağıran iptal etti. Son durum. |
Adım durumu
status | Anlamı |
|---|---|
pending | Henüz gönderilmedi. |
in_progress | İşlemi gönderildi, henüz sonuçlanmadı. |
completed | İşlemi onaylandı. |
failed | İşlemi başarısız oldu ya da gönderilemedi. Nedeni adımın error alanındadır. |
skipped | Süreç ilerlerken ve progress hesaplanırken completed gibi sayılır. |
progress, completed ve skipped adımların oranıdır; 0 ile 100 arasındadır.
Yaşam döngüsü
| İşlem | İzin verilen durum | Etkisi | Ret kodu |
|---|---|---|---|
| Duraklat | started, in_progress | Süreç paused olur. | 20005 |
| Devam ettir | paused | Süreç in_progress olur ve current_step_order adımından devam eder; tamamlanmış bir adım yeniden gönderilmez. failed bir adım yeniden çalıştırılmaz: onun için Yeniden Dene'yi kullanın. | 20003 |
| Yeniden dene | paused bir sürecin failed adımı | Adım pending durumuna döner, retry_count bir artar ve süreç bu adımdan devam eder. Bir adım max_retries (3) kez yeniden denenebilir. | 20003, 20004, 20006 |
| İptal et | started, in_progress, paused | Süreç cancelled olur. | 20003 |
Duraklatma ve iptal, sürecin sonraki adımı göndermesini engeller; zaten gönderilmiş bir işlemi geri çekmez. O işlem yine sonuçlanır ve adımı completed ya da failed olarak kaydedilir. Süreç duraklatılmışken son adım onaylanırsa süreç yine completed olur. İptal, tamamlanmış devirleri geri almaz.
Platform sahibi değişikliği
Platform Sahibi Değişikliğini Başlat, kurulumun diamond kontratındaki platform sahibi adresini değiştiren tek bir işlem gönderir; işlem platform sahibi düğümünde 35 tipli (ChangePlatformOwnerAddress) bir düğüm işlemi olarak kaydedilir. Adımı yoktur; duraklatılamaz, yeniden denenemez ve iptal edilemez.
- Yeni cüzdan, platform sahibinin kendi cüzdanlarından biri olmalı ve kurulumun zincirinde bulunmalıdır.
- Kurulum buna izin vermelidir. Platform sahibinin kendi cüzdanını değiştirip değiştiremeyeceği
platform_owner_can_change_walletplatform ayarıdır ve her kuruluma, kurulum oluşturulurken kopyalanır (diamond kontratı bu değerle dağıtılır). Başlatma uç noktası kurulumdaki kopyayı okur; bu yüzden ayarı sonradan açmak eski kurulumları etkilemez. Bkz. Platform Sahibinin Cüzdan Değiştirme İznini Güncelle.
Değişiklik in_progress durumuyla yanıtlanır. Platform Sahibi Değişikliklerini Listele uç noktasını değişiklik done (işlem hash'i hash alanındadır ve kurulumun platform sahibi ücret alıcı cüzdanı artık yeni cüzdanı gösterir) ya da error (nedeni error alanındadır) olana kadar yoklayın.