Go-Ethereum
如何將事務日誌寫入geth中的文本文件?
我已經制定了一份契約,該契約在區塊鏈上生成一個公共事件,該事件將通知客戶有關交易的資訊。要收聽事件,我在 geth 控制台中編寫了以下程式碼段:
var event = token.CoinTransfer({}, '', function(error, result){ if (!error) console.log("Coin transfer: " + result.args.amount + " tokens were sent. Balances now are as following: \n Sender:\t" + result.args.sender + " \t" + token.coinBalanceOf.call(result.args.sender) + " tokens \n Receiver:\t" + result.args.receiver + " \t" + token.coinBalanceOf.call(result.args.receiver) + " tokens" ) });
現在,
console.log()
我不希望將這些事務儲存在文本文件TransactionHistory.txt
中。我們應該怎麼做?有沒有比監聽事件更好的方法來維護事務日誌?
無論如何,最好還是從文件中執行腳本
geth --exec 'loadScript("/tmp/test.js")' attach
然後您可以直接輸出,例如在 Linux 和 Mac 中:
geth --exec 'loadScript("/tmp/checkbalances.js")' attach > log.txt
Geth 控制台基本上是 Javascript 的一個子集,因此您只能使用 @Roland
console.log
的重定向到文件的答案。通過使用Ethereum JSON-RPC,您可以獲得更大的靈活性(請參閱過濾器)。您可以將多種語言用於 JSON-RPC(一些在此處)及其 I/O 功能:例如,您可以使用Python。