Avatar阿凡達泰山眾籌開發|眾籌系統DAPP開發技術

搭建猿punk2558發表於2023-02-17

  智慧合約是一種旨在以資訊化方式傳播、驗證或執行合同的計算機協議。智慧合約允許在沒有第三方的情況下進行可信交易,這些交易可追蹤且不可逆轉。


  智慧合約可以呼叫其他智慧合約,阿凡達泰山眾籌13z開4z77發z558,這開啟了創造一個自主代理的能力,這些代理可以自己進行交易。


  2、使用者賬戶和合約賬戶


  使用者帳戶有:


  地址(有點像我們的銀行帳號-比特幣也有同樣的概念)


  地址是帳戶的唯一識別符號,與常規使用者帳戶一樣。


  合約使用者中有智慧合約程式碼,與個人帳戶不同,它可以“主動操作”將交易傳送給其他人。因此,如果我們想要使用智慧合約的功能,我們必須在個人賬戶中傳送“接收地址作為合同”。“地址”交易,主動觸發合同,讓合同執行行動。因此,任何交易的起點必須是個人賬戶。


  3、智慧合約部署過程


  1.開發人員用Solidity寫完成合同


  2.原始碼編譯為位元組碼


  3.輸入交易的輸入資料


  4.接收地址部分留空(0x0)


  5.確定節點(礦工)將合同傳送到鏈


  6.礦工執行和部署鏈以生成智慧合約合同有自己的“合同地址”,永久在鏈上。


  智慧合約是部署在區塊鏈的程式碼,區塊鏈本身不能執行程式碼,程式碼的執行是在本地的EVM中,實際上,部署在區塊鏈上程式碼是能夠在本地產生原智慧合約程式碼的程式碼,可以理解區塊鏈為一個資料庫,而客戶端從資料庫中讀取了儲存的執行程式碼,並在本地執行後,將結果寫入到了區塊鏈這個資料庫中。


  4、智慧合約呼叫過程


  5、以太坊的交易型別


  以太坊與比特幣很大的不同是其交易還有一個DATA欄位。DATA欄位支援三種型別的交易:


  價值傳遞(和比特幣相同)


  TO:收款地址


  DATA:留空或留言資訊


  FROM:誰發出


  AMOUNT:傳送多少


  建立合約


  TO:留空(這就是觸發建立智慧合約的原因)


  DATA:包含編譯為位元組碼的智慧合約程式碼


  FROM:誰建立


  AMOUNT:可以是零或任何數量的以太,它是我們想要給合約的存款。


  呼叫合約函式


  TO:目標合約賬戶地址


  DATA:包含函式名稱和引數-標識如何呼叫智慧合約函式


  FROM:誰呼叫


  AMOUNT:可以是零或任意數量的以太,例如可以支付合約服務費用。


  5.1價值傳遞


  {


  to:'0x687422eEA2cB73B5d3e242bA5456b782919AFc85',


  value:0.0005


  data:‘0x’//也可以附加訊息


  }


  非常簡單,就是轉移一定數量的以太到某個地址,如果我們願意也可以向交易新增訊息。


  5.2建立智慧合約


  {


  to:'',


  value:0.0


  data:‘0x6060604052341561000c57xlb60405160c0806……………’


  }


  如上所述,TO為空表示建立智慧合約,DATA包含編譯為位元組碼的智慧合約程式碼。


  5.3呼叫合約方法


  {


  to:'0x687422eEA2cB73B5d3e242bA5456b782919AFc85’,//合約


  value:0.0


  data:‘0x6060604052341561000c57fe5b60405160c0806……………’


  }


  6、代幣(Token)


  數字代幣代表區塊鏈總賬上的記賬權


  代幣的作用:


  一個區塊鏈專案往往就是一個程式,而且是開源程式。免費的開源程式沒人幹,必然需要商業利益驅動。代幣數量往往是有限的,需求增加,代幣則會增值。為了讓代幣增值,開發者就必須不斷完善及最佳化相關技術;而每個使用該區塊鏈網路服務的使用者,則需要向以太坊礦工支付一定費用,以激勵其繼續參與整個網路的維護。


  以太坊的代幣:以太幣(ETH)


  作為一種燃料。以太坊使用者執行以太坊的智慧合約需要“消耗”對應的以太幣。消耗指的是支付給了維持以太坊網路的礦工。


  同樣具備貨幣這樣的支付屬性。


  也同樣可視作為持有以太坊這種”世界計算機“的股票。


  ETH和Gas的關係:乙太網每天的Gas價格不同,因此兩者之間的轉換率也不同。


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

相關文章