Go-Ethereum

如何將事務日誌寫入geth中的文本文件?

  • July 4, 2016

我已經制定了一份契約,該契約在區塊鏈上生成一個公共事件,該事件將通知客戶有關交易的資訊。要收聽事件,我在 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 的一個子集,因此您只能使用 @Rolandconsole.log的重定向到文件的答案。

通過使用Ethereum JSON-RPC,您可以獲得更大的靈活性(請參閱過濾器)。您可以將多種語言用於 JSON-RPC(一些在此處)及其 I/O 功能:例如,您可以使用Python

引用自:https://ethereum.stackexchange.com/questions/6780