Solidity

我們如何在乙太坊錢包中編譯和呼叫智能合約

  • January 29, 2018

我在名為 Remix 的線上 Solidity 編譯器中創建了一個範例智能合約,我還創建了一個私有區塊鏈。然後我還有一個在這個私有測試網路上執行的乙太坊錢包。誰能告訴我如何在乙太坊錢包中使用這個智能合約?

有2種方式。

  1. 使用 ethereum-wallet 部署合約並直接使用它。
  2. 使用 remix 部署合約並將部署的合約添加到 ethereum-wallet。

讓我們一一來看:

使用乙太坊錢包(或 Mist)部署

  • 啟動 privet 區塊鏈並執行 ethereum-wallet(或 Mist)。確保 Mist 連接到您的專用網路而不是公共網路。
  • 轉到 Mist 中的契約選項卡。
  • 點擊部署新契約。
  • 將合約程式碼粘貼到SOLIDITY CONTRACT SOURCE CODE選項卡中。
  • 選擇您要從中部署合約的所有者賬戶。如果您有多個合約,請選擇您要部署的合約。(如果你的合約有建構子參數,你可能需要指定它們)。
  • FROM在 thr選項卡下選擇要從中部署契約的帳戶。
  • 點擊部署。
  • 確保礦工正在執行。(您可以輸入miner.start(4)開始geth console挖礦和miner.stop()停止挖礦。
  • 部署合約後,您可以在COntractsMist 的選項卡中訪問合約

使用 Remix 部署

  • 首先,將您的混音編譯器連接到您的專用網路。
  • 轉到runremix 選項卡,然後environments選擇Web3 Provider
  • Web3 Provider Endpoint輸入節點的 Rpc 地址下。(如http://127.0.0.1:8015
  • 連接節點後,您可以從accounts選項卡中選擇帳戶並部署合約。(我猜你已經這樣做了)。
  • 請記住,如果尚未執行礦工來探勘您的交易,則必須執行它。
  • 部署合約後,複製智能合約和 abi 的地址。
  • 打開你的乙太坊錢包,它也必須連接到與 remix 連接的同一個私有區塊鏈。
  • 轉到contracts選項卡並點擊Watch contract
  • 輸入你剛剛複制的合約名稱和地址和abi。您的契約將在Contracts選項卡下可見。

引用自:https://ethereum.stackexchange.com/questions/37832