1. 程式人生 > >3.06 EOS智慧合約(上)

3.06 EOS智慧合約(上)

1.eosiocpp工具介紹

  • 是一個 C++ 生成 WASM 和 ABI 檔案的編譯工具
  • 有很多依賴庫,因此需要在eosio/eos-dev 的環境中才可以執行

2.abi介紹

  • ABI是Application Binary Interface的縮寫,它的意思是程式二進位制介面
  • 一個ABI是不同二進位制片段的連線紐帶,它定義了函式被呼叫的規則
  • EOS中的ABI除了約束action之外,還可以約束table

3.第一個智慧合約

  • config-local.ini第29行為true時,智慧合約執行會列印print的內容
    在這裡插入圖片描述
  • 啟動節點
    在這裡插入圖片描述
  • 配置兩個alias
    在這裡插入圖片描述
    在這裡插入圖片描述
  • 檢視區塊資訊
    在這裡插入圖片描述
  • 建立一個預設的智慧合約
    在這裡插入圖片描述
  • 檢視容器
    在這裡插入圖片描述
  • 檢視hello目錄
    在這裡插入圖片描述
  • 檢視hpp檔案
    在這裡插入圖片描述
  • 檢視智慧合約的cpp檔案
    在這裡插入圖片描述
  • 生成wast和wasm檔案
    在這裡插入圖片描述
  • 生成abi檔案
    在這裡插入圖片描述
  • 檢視生成的檔案
    在這裡插入圖片描述
  • 解鎖錢包
    在這裡插入圖片描述
  • 檢視錢包狀態
    在這裡插入圖片描述
  • 檢視eosio賬戶
    在這裡插入圖片描述
  • 部署合約
    在這裡插入圖片描述
  • 檢視賬戶下的智慧合約
    在這裡插入圖片描述
  • 呼叫智慧合約
    在這裡插入圖片描述
  • 檢視日誌
    在這裡插入圖片描述
  • 呼叫合約
    在這裡插入圖片描述

4.智慧合約執行與許可權控制

  • 修改hello.cpp,增加許可權檢查
    在這裡插入圖片描述
    在這裡插入圖片描述
    在這裡插入圖片描述
  • 生成wast檔案
    在這裡插入圖片描述
  • 解鎖錢包
    在這裡插入圖片描述
  • 部署合約
    在這裡插入圖片描述
  • 呼叫智慧合約
    在這裡插入圖片描述
  • 修改使用者名稱
    在這裡插入圖片描述
  • 修改使用者名稱,再次呼叫合約
    在這裡插入圖片描述

5.智慧合約token原始碼解讀

  • 原始碼目錄:eos\contracts\eosio.token