Solidity
Truffle - 通過腳本在本地部署合約並與之互動
我創建了一個契約,編寫了一個遷移和一個測試。當我執行
truffle test
契約時,契約會在本地部署,然後針對它執行測試。一切正常。我還在合約中添加了一個函式,如下所示(我也在測試中呼叫):
function entryExists(uint256 id, string memory type) public view returns (bool) {
現在,我想在本地部署該合約(也許
truffle develop
會有幫助?)並從一個 nodeJS 腳本中呼叫該函式。我該怎麼做?我似乎在任何地方都找不到任何關於它的東西,但感覺就像一個基本的東西。提前感謝任何幫助的人。
當 Ganache 執行時,您的本地測試網乙太坊節點的行為與任何其他乙太坊節點一樣。只要您知道 TCP/IP 埠,就可以針對它呼叫 JSON-RPC API。
在這種情況下,該過程將是
- 編寫一個 JavaSCript 文件
- 導入 web3.js
- 使 web3.js 連接 HTTPProvider,這是您在本地執行的測試網節點
- 閱讀描述你的 Solidity 合約的 ABI 文件
- 導入其中一個帶有 ETH 的測試網賬戶
- 從 ABI 文件和部署的地址創建一個 web3.js 合約實例
- 使用 Contract 實例從帶有 ETH 的測試網帳戶呼叫您的方法