Solidity
eth.contract 給出未定義的錯誤
我有一個帶有幾個節點的私有乙太坊系統。我正在嘗試在其中一個上部署契約。首先,我試圖從網上部署一個範例契約。這就是我正在使用的:
pragma solidity ^0.4.24; contract sample { string public name = "ZeonLab"; function set(string _name) { name = _name; } function get() constant returns (string) { return name; } }
我使用 solc 編譯器對其進行編譯,並分別通過執行 solc –abi 和 solc –bin 來獲取 ABI 和字節碼。然後我嘗試在 geth 上部署合約,如下所示: geth console
> var test = eth.contract('abi text above')
但是,它給了我一個未定義的錯誤。實際上,如果我只是這樣做,而不是上面的 ABI 文本:
var test = eth.contract('test')
,我仍然會看到一個錯誤。我在某個地方讀到了我們需要做的事情:
var testTxt = JSON.parse('abi text above')
但是,這也不起作用。從錯誤來看,辨識 eth.contract 本身可能存在問題。當我在控制台上輸入 eth 時,我看到合約是選項之一。
關於可能出錯的任何建議。
thx - 阿南德
謝謝!我會嘗試松露。
同時,我也發現這個(所謂的)錯誤無關緊要。事實上,當我輸入: var test = eth.contract(‘abi text above’) 然後我輸入 test 時,我看到了想要的結果。
以下程式碼應該可以解決您的問題。
var contract_name = new web3.eth.Contract('YOUR ABI', 'YOUR CONTRACT ADDRESS')