關於區塊鏈DAPP系統開發詳細功能邏輯

Tg_StPv888發表於2023-02-28

Web 3.0 is a new Internet concept, representing a major change from static Web 1.0 to dynamic Web 2.0. Unlike Web 2.0, Web 3.0 is considered to be a more intelligent, connected, personalized and distributed Internet.


The core idea of Web3.0 is to use AI and blockchain technology to realize the intelligence, decentralization and security of the Internet. It is expected to provide richer personalized experience, simpler data interaction and more transparent data control


  struct permission_level_weight{


  permission_level permission;


  uint16_t weight;


  EOSLIB_SERIALIZE(permission_level_weight,(permission)(weight))


  };


  注意,合約中定義的結構體一般都會在末尾加入EOSLIB_SERIALIZE宏,I8O模式2857開發8624將結構體的欄位屬性序列化,這行程式碼不是必須的,但加上了能夠加快解析的速度,從而提升編譯效率。


  許可權等級權重結構體只有兩個欄位,一個是permission_level型別的物件permission,另一個是16位的無符整型型別的權重。permission_level是定義在eosiolib/action.hpp檔案中的一個結構體。它是透過一個賬戶名以及其許可權名構建的,例如{"useraaaaaaaa","active"},這樣的一個組合構成了一個許可權物件。


  struct key_weight{


  eosio::public_key key;


  uint16_t weight;


  EOSLIB_SERIALIZE(key_weight,(key)(weight))


  };


  這個結構體的結構與前面的相似,所以陌生的部分只有eosio::public_key,這是定義在eosiolib/crypto.hpp中的結構體,它代表了EOS中一個公鑰物件,該物件可以是K1型別或者R1型別。


  secp256k1和secp256r1是兩種橢圓曲線數學模型,均屬於公鑰生成演算法。私鑰生成公鑰的演算法也即ECC的字面含義橢圓曲線,是透過該數學模型生成的一種正向快速逆向困難的演算法,目前這個演算法包括secp256k1和secp256r1,secp256k1是首先使用的,而secp256r1據說更有優勢,但也有被爆漏洞的歷史,由於比特幣沒有使用secp256r1,因此還有“比特幣躲過secp256r1子彈”的說法。目前這兩種EOS均支援。


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70016646/viewspace-2937331/,如需轉載,請註明出處,否則將追究法律責任。

相關文章