Go-Ethereum

如何使用 geth cli 部署編譯後的合約文件?

  • October 4, 2019

所以我已經按照這裡的歡迎契約教程將契約部署到我的私有云。它工作得很好,但是我需要從我的契約中創建一個字元串然後部署它是相當困難的。contract.sol如果我可以創建一個文件並編譯它會更容易。

所以我把歡迎程式碼放到一個文件中:

contract mortal {
   address owner;

   function mortal() {
       owner = msg.sender;
   }

   function kill() {
       if (msg.sender == owner) selfdestruct(owner);
   }
}

contract greeter is mortal {
   string greeting;

   function greeter(string _greeting) public {
       greeting = _greeting;
   }

   function greet() constant returns(string) {
       return greeting;
   }
}

並執行以下命令:

solc --optimize --bin contract.sol

這將創建兩個新文件:

greeter.bin
mortal.bin

但從這裡我有點迷路了。有人知道我如何使用geth這兩個 bin 文件部署這個歡迎契約嗎?歡迎所有提示!

geth Javascript 控制台更適合互動使用,當直接用 solc 編譯時,RPC 通常是更好的選擇。要部署合約,請參閱:

https://github.com/ethereum/wiki/wiki/JSON-RPC#eth_sendtransaction

您可以編寫一個簡單的 bash 腳本來編寫 json 參數並傳入正確的數據。

試試web3 CLI 工具,你可以執行:

web3 contract deploy greeter.bin

這將部署並返回合約地址。

還可以建構:web3 contract build greeter.sol

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