1. 程式人生 > >在以太坊的私鏈上釋出智慧合約

在以太坊的私鏈上釋出智慧合約

如何搭建以太坊私鏈請參考:
https://blog.csdn.net/Ssuper_X/article/details/83272170
#這是一個簡單的乘法例子
pragma solidity ^0.4.2;
contract test {
   function multiply(uint a) returns(uint d) {
       return a * 7;
   }
}

編譯智慧合約 通過Remix編譯獲取智慧合約對的BYTECODE、ABI、WEB3DEPLOY。

  1. 部署智慧合約
部署智慧合約不僅需要ABI和CODE,還需要一個解鎖了的ETH賬號,關於搭建私鏈建立ETH賬號請參考:
https://blog.csdn.net/Ssuper_X/article/details/83272170
建立合約
  • 進入geth命令列中
  • 在編譯後的內容中獲取ABI資訊 獲取ABI資訊
  • 寫入ABI資訊:contract = eth.contract(abi) contract = eth.contract(abi)
  • 解鎖from的賬號然後進行初始化: 解鎖賬號、初始化
  • 通過挖礦確認合約釋出
miner.start()
Contract mined! address: 0x11eC1500187D8e0e7662add5700B77b8b27E0EE1 transactionHash: 0xd1b25d8f817166f9df94202bc66db547f93178d4b08aba8ad9ada5503e2665c1
==> 出現上面的訊息代表部署成功啦。
miner.stop()
  1. 合約互動
  • 獲取合約物件:myContract = eth.contract(abi) 獲取合約物件

  • 例項化合約物件:MyContract = myContract.at(initializer.address) 例項化合約物件

  • 呼叫成功輸出

成功輸出