91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

C++智能合約怎么實現

發布時間:2022-01-15 14:30:28 來源:億速云 閱讀:312 作者:iii 欄目:互聯網科技

這篇文章主要介紹“C++智能合約怎么實現”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“C++智能合約怎么實現”文章能幫助大家解決問題。

Ricardian Contracts是數字文檔,用于定義兩方或多方之間交互的條款和條件。

在20世紀90年代,伊恩·格里格(Ian Grigg)在尋找創造數字化現金的愿景的朋友之后學會了資產的數字化。Ian Grigg發現債券數字化的必要性,并試圖在互聯網上發行相同的債券,因為它們也是金融資產,而世界正在開始通過互聯網創建業務。在努力解決問題的過程中,Ian Grigg開發了李嘉圖合約。

###李嘉圖合約與我們今天的智能合約有什么不同?

智能合約是機器可讀的指令集,而李嘉圖合約是指明智能合約所遵循的指令意圖的文件。

智能合約看起來像這樣:

 `#include <eosiolib/eosio.hpp>

class simpletoken : public eosio::contract {
   public:
      simpletoken( account_name self )
      :contract(self),_accounts( _self, _self){}

      void transfer( account_name from, account_name to, uint64_t quantity ) {
         require_auth( from );

         const auto& fromacnt = _accounts.get( from );
         eosio_assert( fromacnt.balance >= quantity, "overdrawn balance" );
         _accounts.modify( fromacnt, from, [&]( auto& a ){ a.balance -= quantity; } );

         add_balance( from, to, quantity );
      }

      void issue( account_name to, uint64_t quantity ) {
         require_auth( _self );
         add_balance( _self, to, quantity );
      }

   private:
      struct account {
         account_name owner;
         uint64_t     balance;

         uint64_t primary_key()const { return owner; }
      };

      eosio::multi_index<N(accounts), account> _accounts;

      void add_balance( account_name payer, account_name to, uint64_t q ) {
         auto toitr = _accounts.find( to );
         if( toitr == _accounts.end() ) {
           _accounts.emplace( payer, [&]( auto& a ) {
              a.owner = to;
              a.balance = q;
           });
         } else {
           _accounts.modify( toitr, 0, [&]( auto& a ) {
              a.balance += q;
              eosio_assert( a.balance >= q, "overflow detected" );
           });
         }
      }
};

EOSIO_ABI(simpletoken, (transfer)(issue) )`

上面的示例顯示了為發布新token而設計的C++智能合約。

雖然李嘉圖合約看起來像這樣:

TOKENNAME = XYZ
INFLATION = 5%
INITIALISSUE = 1,000,000,000

The Community hereby creates a currency known as {{TOKENNAME}}, possession of which is evidence of a contribution to the community. The quantity of {{TOKENNAME}} shall increase no more than INFLATION per year after the first {{INITIALISSUE}} of {{TOKENNAME}} are distributed.

李嘉圖合約前面的部分看起來像普通的軟件合同。

C++智能合約怎么實現

使用刻度線指定條件,使用單擊按鈕同意指定的條件和整個合約。

他們安全嗎?

是的,由于加密簽名,李嘉圖合約極其安全。每個李嘉圖合約文檔都可通過其哈希值進行唯一標識。編輯文檔很困難,一旦所有各方同意并使用私鑰在其上簽名,它就變得不可變。

它如何與智能合約一起使用?

我在iang.org上發現了一個不言自明的形象:

C++智能合約怎么實現

請記住:李嘉圖合約首先是人類可讀的,然后是機器可讀的合約。

李嘉圖合約的視覺表征:

C++智能合約怎么實現

開放市集合約模式的視覺表征:

C++智能合約怎么實現

誰在網絡上強制執行?

EOS網絡上的憲法和仲裁員!

我希望它能幫助你更好地理解李嘉圖合同。謝謝你的閱讀。

為什么世界需要EOS合約?

@iang在他的一篇文章中對此進行了很好的解釋。假設我們有一份合約轉讓某些token以換取100美元。

這是智能合約:

{Alice,Bob,100,dollarsvalue,token}

dollar可能是新加坡元還是港元,計算機如何知道指定的dollar是美元以及閱讀合約的人如何知道上述dollar是美元?

為了明確智能合約的意圖,需要一份詳細的李嘉圖合約。與EOS網絡一樣,利益相關者同意憲法,如果他們對其他人采取行動,他們有可能通過仲裁程序。李嘉圖合約有助于仲裁員和成員接受合約意圖的審判。記住:不是每個人都是技術人員。

關于“C++智能合約怎么實現”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

c++
AI

许昌市| 垦利县| 葫芦岛市| 阜城县| 盐池县| 安福县| 海盐县| 兖州市| 富源县| 德钦县| 苏州市| 上林县| 廉江市| 东安县| 汝南县| 灯塔市| 广灵县| 留坝县| 石屏县| 仙游县| 秦皇岛市| 剑川县| 寿光市| 六安市| 镇康县| 峡江县| 罗江县| 乐安县| 麟游县| 大丰市| 十堰市| 和静县| 永安市| 桑植县| 西藏| 瓦房店市| 湘潭县| 西华县| 隆回县| 永川市| 丹巴县|