用以太坊客戶端Mist部署智能合約例子時出現編譯錯誤,例子怎么會出錯呢?
uj5u.com熱心網友回復:
你這個智能合約中的建構式“function Coin(){...}”是按照老語法寫的;Solidify 0.4.22版本之后就不支持這種宣告建構式的語法了,必須使用constructor關鍵字。解決思路有2種,要么你按照新語法修改代碼;要么你使用0.4.22版本之前的Solidify編譯器。方案一:將建構式“function Coin(){...}”替換為:
constructor() public {
minter = msg.sender; //這個地方你好像拼寫錯誤吧,礦工應該是miner
}方案二:Mist好像不能選擇編譯器版本。你可以使用Remix IDE中編譯和部署智能合約,在Compile選項卡中選擇0.4.0版本的編譯器;在Run選項卡中設定Environment為“Web3 Provider”然后連接你本地的以太坊節點,默認URL“http://localhost:8545”
參考資料:
建構式語法:https://solidity.readthedocs.io/en/v0.4.22/contracts.html#creating-contracts
Remix IDE:以太坊官方提供的Solidify IDE工具,https://remix.ethereum.org/
uj5u.com熱心網友回復:
你好,我試了一下用Web3 Provider”連接本地節點,出錯說“Not possible to connect to the Web3 provider. Make sure the provider is running and a connection is open (via IPC or RPC).”我該怎么查到本地節點的URL呢? 才能與remix IDE連上呢?uj5u.com熱心網友回復:
我成功連上了,但運行時報出“creation of Coin errored: authentication needed: password or unlock”,需要在哪里輸入賬號的密碼呢?uj5u.com熱心網友回復:
我自己弄好了,謝謝您uj5u.com熱心網友回復:
嗯,以太坊外部賬戶默認是鎖定狀態,需要密碼解鎖后才能發送交易。在Remix IDE中,比較簡單的途徑是開啟“Personal Mode”,在Settings選項卡 -- General settings --
Enable Personal Mode。當你發送交易時,會彈出對話框讓你輸入密碼。
需要注意的是,這種方式適用于私有鏈或學習階段,如果生產環境中這么做是比較危險的,參考資料:https://bcsec.org/index/detail/tag/2/id/181
uj5u.com熱心網友回復:
謝謝,我還遇到一個問題:我用#CSDN#這個app發現了有技術含量的博客,小伙伴們求同去《remix部署智能合約中報錯問題》, 一起來圍觀吧 https://bbs.csdn.net/topics/392517518轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/35074.html
標籤:區塊鏈技術
上一篇:比如我要訪問一個p2p網貸后臺平臺但我不是內網訪問不了怎么辦
下一篇:remix部署智能合約中報錯問題
