11.5 Assets

Asset è la valuta che circola su una blockchain.

  • Un bene potrebbe essere:

    • Creato e aggiunto alla blockchain
    • Coniato, significa coniato dal nulla
    • Trasferito da un conto all'altro (il trasferimento potrebbe essere gestito da un contratto intelligente personalizzato (Smart-contracts/Basic-Asset-smart-contract.md), oppure creato appositamente per l'asset)
    • L'asset è memorizzato nel campo data dell'account service in un formato come questo:
     {
        "assets": {
     	  asset-account-id: {            // Asset account id
     		 "name": string,             // Asset name					 
     		 "creator": account-id,      // Caller account-id
     		 "url": integer,       		 // Web site of the asset
     		 "contract": bytes           // Hash of the contract that handle the asset
     	  },
        }
     }
    
  • Un account Asset contiene nella sua sezione dati tutte le caratteristiche del bene, sia statiche che dinamiche.

  • Il relativo contratto definisce il comportamento dell'asset.

  • Le funzionalità Asset sono specifiche per il tipo di asset e solo il relativo smart contract entra nel contenuto.

  • Gli asset possono avere elenchi di funzionalità completamente diversi (anche con nomi diversi per indicare la stessa cosa).

  • Un asset smart contract può essere utilizzato da più asset. Esempio:

    • Consideriamo due asset "semplici" come BTC e EUR, hanno lo stesso comportamento.
    • Quindi possono essere gestiti dallo stesso contratto intelligente basic_asset.
    • Ma hanno una configurazione diversa.