Go-Ethereum
如何使用 Geth 製作 GUI
實際上,我什至不確定我要問的是否可能。
目前,我可以在 Geth 控制台中執行一個腳本,該腳本正在本地創建契約。我想創建一個帶有 2 個輸入和一個送出按鈕的簡單界面來美化流程。
您對最簡單的方法有什麼想法嗎?
你應該看看web3 庫,它是一個用於乙太坊的 JavaScript 庫。因此,您將能夠建構一個簡單的 Web 界面來編譯和部署合約。
請找一個簡單的例子(大部分程式碼摘自web3文件):
// Import web3 var Web3 = require('web3'); // create an instance of web3 using the HTTP provider. var web3 = new Web3(new Web3.providers.HttpProvider("http://localhost:8545")); var contractSource = "" + "contract test {\n" + " function multiply(uint a) returns(uint d) {\n" + " return a * 7;\n" + " }\n" + "}\n"; // Compile the contract source var contractCompiled = web3.eth.compile.solidity(contractSource); // It should return sometihng like that // contractCompiled : { "test": { "code": "0x605280600c6000396000f3006000357c010000000000000000000000000000000000000000000000000000000090048063c6888fa114602e57005b60376004356041565b8060005260206000f35b6000600782029050604d565b91905056", "info": { "source": "contract test {\n\tfunction multiply(uint a) returns(uint d) {\n\t\treturn a * 7;\n\t}\n}\n", "language": "Solidity", "languageVersion": "0", "compilerVersion": "0.8.2", "abiDefinition": [ { "constant": false, "inputs": [ { "name": "a", "type": "uint256" } ], "name": "multiply", "outputs": [ { "name": "d", "type": "uint256" } ], "type": "function" } ], "userDoc": { "methods": {} }, "developerDoc": { "methods": {} } } } } // Deploy your contract var contract = web3.eth.contract(contractCompiled.test.info.abiDefinition); var contractInstance = contract.new();
希望這可以幫助您創建一個簡單的界面。
否則,我真的很喜歡Truffle,它是一個乙太坊框架,它提供了一個強大的命令行工具來開發、編譯、測試和部署合約。