Go-Ethereum
我可以使用什麼來允許使用者通過網站發送交易?
我正在嘗試建立一個網站,允許多個使用者發送乙太坊交易而無需安裝節點。我的伺服器正在執行一個節點,該節點被配置為接受來自任何 Internet 地址的請求,看來我應該能夠通過 Web 瀏覽器從任何設備連接到該節點。乙太坊 JavaScript API 對這樣做有用嗎?謝謝!
是的,您可以使用
web3.ETH.sendTransaction
向網路發送交易。web3.eth.sendTransaction(transactionObject [, callback])
例子
// compiled solidity source code using https://chriseth.github.io/cpp-ethereum/ var code = "603d80600c6000396000f3007c01000000000000000000000000000000000000000000000000000000006000350463c6888fa18114602d57005b6007600435028060005260206000f3"; web3.eth.sendTransaction({data: code}, function(err, address) { if (!err) console.log(address); // "0x7f9fade1c0d57a7af66ab4ead7c2eb7b11a91385" });
設置您的節點,然後創建一個接受簽名原始交易輸入的面向公眾的 api。你可以使用 hooked web3 來做到這一點,你的使用者可以使用ConsenSys 的eth- lightwallet。
signing.signTx(keystore, pwDerivedKey, rawTx, signingAddress, hdPathString)
使用與signingAddress 對應的私鑰對交易進行簽名。
輸入
- 密鑰庫:用於簽署 TX 的密鑰庫實例。
- pwDerivedKey:使用者密碼派生密鑰(Uint8Array)
- rawTx:定義 RLP 編碼的原始交易的十六進製字元串。
- 簽名地址:十六進製字元串,定義發送交易的地址。
- hdPathString:(可選)創建加密密鑰的路徑。
返回值
對應於 RLP 編碼的原始交易的十六進製字元串。