Solidity
是否可以與已部署的合約進行互動
是否可以使用 Web3 API 與私有區塊鏈中已部署的合約進行互動?
我已經部署了一份契約,我保存了契約地址,但我不知道我怎麼不能與這個契約互動?
您可以與混音進行互動。只需將您的環境更改為“web3 提供商”並從地址載入契約。現在,您將看到可以訪問的方法。
此外,您可以建構自己的 html 應用程序,您可以使用它來訪問。這樣做時,我得到了一個錯誤。請注意,我的合約部署在 ropsten 網路中。如果您想訪問您的契約,請使用 html 程式碼,而不是
web3 = new Web3(new Web3.providers.HttpProvider(" https://ropsten.infura.io/ “));
給(只要你通過 8545 埠連接)
web3 = new Web3(new Web3.providers.HttpProvider(” http://localhost:8545 “));
在 geth 下,您可以使用創建合約實例
contractinstance = eth.contract(abi).at(addr)
該 abi 使用 -
solc --abi smartcontractname.sol
複製 abi(沒有引號到 geth 中的變數中),地址是您在部署期間給出的 20 字節地址。
然後這些函式可以使用 -
contractinstance.functionname(..)