Sari la conținutul principal

Licențierea lanțului

Modulul x/license oferă licențierea de capabilități on-chain. Anumite capabilități restricționate pe QoreChain — cel mai notabil funcțiile de punte și de validator per lanț — necesită ca acel cont care acționează să dețină o licență validă pentru acea capabilitate. O licență este pur și simplu o înregistrare on-chain care autorizează un deținător specific (grantee-ul) să folosească o anumită funcție restricționată.

Licențierea menține aceste capabilități verificabile și auto-descriptive: orice integrator, explorator sau portofel poate întreba lanțul dacă un anumit cont este autorizat pentru o anumită funcție, fără nicio căutare off-chain necesară.

Ce reprezintă o licență

Fiecare licență este o înregistrare indexată după o pereche (grantee, feature_id):

  • grantee — contul qor pe care licența îl autorizează.
  • feature_id — capabilitatea restricționată pe care o deblochează. ID-urile de funcție sunt identificatori de tip șir stabili; capabilitățile de punte și de validator sunt denumite per lanț țintă (de exemplu bridge_ethereum, validator_solana), alături de funcții-umbrelă precum funcțiile de protocol-punte și de operator de nod/validator.
  • granted_at / expires_at — înălțimea blocului la care licența a fost acordată și înălțimea blocului la care expiră (o valoare de 0 înseamnă că nu expiră).
  • granted_by — autoritatea care a emis licența.

O capabilitate restricționată în spatele unei funcții verifică pur și simplu, la momentul execuției, dacă contul care acționează deține o licență activă pentru acea funcție.

Ciclul de viață al licenței

O licență trece printr-un set mic de stări:

StareSemnificație
Acordată / ActivăLicența există și autorizează grantee-ul. Este considerată activă atâta timp cât nu este suspendată și nu este expirată.
SuspendatăDezactivată temporar. Înregistrarea încă există, dar capabilitatea restricționată este refuzată până când licența este reluată.
RevocatăEliminată permanent. Grantee-ul nu mai deține deloc licența.

O licență încetează de asemenea să fie activă odată ce înălțimea sa expires_at este depășită, chiar dacă nu a fost niciodată suspendată sau revocată.

Cine poate modifica licențele

Acordarea, revocarea, suspendarea și reluarea licențelor sunt operațiuni de autoritate — sunt efectuate de autoritatea de guvernanță a lanțului, nu de utilizatori arbitrari. Aceste tranzacții există ca parte a suprafeței de comenzi a modulului, dar un utilizator obișnuit nu le apelează direct; ciclul de viață este administrat on-chain de autoritate.

Pentru a obține o licență, integratorii parcurg Dashboard-ul (Tools → Buy License), care gestionează fluxul de cerere; autoritatea înregistrează apoi acordarea on-chain.

Tranzacțiile restricționate la autoritate sunt:

# Grant a license for a feature to a grantee (authority signs)
qorechaind tx license grant qor1grantee... bridge_ethereum \
--expires-at 0 --from qor1authority... --chain-id qorechain-vladi

# Suspend / resume a license
qorechaind tx license suspend qor1grantee... bridge_ethereum --from qor1authority...
qorechaind tx license resume qor1grantee... bridge_ethereum --from qor1authority...

# Revoke a license permanently
qorechaind tx license revoke qor1grantee... bridge_ethereum --from qor1authority...

Verificarea și validarea unei licențe

Comenzile de interogare sunt deschise oricui. Sunt partea modulului pe care integratorii o folosesc zi de zi — pentru a confirma că un cont este autorizat înainte de a se baza pe o capabilitate restricționată, sau pentru a afișa statusul licenței într-un portofel sau explorator.

Verificarea unei singure licențe

check raportează dacă un anumit grantee deține o anumită funcție și dacă acea licență este în prezent activă. Acesta este apelul canonic „este acest cont autorizat să facă X".

qorechaind query license check qor1grantee... bridge_ethereum
# -> returns the license record and an `active` flag (true / false)

Răspunsul include detaliile licenței și un câmp boolean active care ține deja cont de suspendare și expirare — astfel încât un true înseamnă că grantee-ul poate folosi funcția restricționată chiar acum.

Listarea licențelor unui grantee

list returnează fiecare licență deținută de un cont, pe toate funcțiile.

qorechaind query license list qor1grantee...

Listarea deținătorilor unei funcții

holders returnează fiecare cont care deține o licență pentru o anumită funcție — util pentru a enumera, să zicem, cine este autorizat pentru o anumită capabilitate de punte sau de validator.

qorechaind query license holders bridge_ethereum

Rezumatul comenzilor

Tranzacții (qorechaind tx license …) — restricționate la autoritate / guvernanță:

ComandăScop
grantAutorizează un grantee pentru o funcție
revokeElimină permanent o licență
suspendDezactivează temporar o licență
resumeReactivează o licență suspendată

Interogări (qorechaind query license …) — deschise oricui:

ComandăScop
checkVerifică o licență (grantee, feature) și starea sa activă
listListează toate licențele deținute de un grantee
holdersListează toți grantee-ii care dețin o anumită funcție

Conexe