Как записать журналы транзакций в текстовый файл в 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. Как мы можем это сделать? Есть ли лучший способ, чем прослушивание событий, вести журналы транзакций?

Ответы (2)

Вероятно, лучше всего, чтобы вы все равно выполняли скрипт из файла.

 geth --exec 'loadScript("/tmp/test.js")' attach 

Затем вы можете направить вывод, например, в Linux и Mac:

 geth --exec 'loadScript("/tmp/checkbalances.js")' attach > log.txt
Было бы лучше, если бы была команда, заменяющая "console.log". Таким образом, я смогу получать записи, которые хочу, в том формате, который мне нравится. Есть ли такая команда (команды)?
задаюсь вопросом о том же..

Консоль Geth в основном является подмножеством Javascript, поэтому вы ограничены, console.logи ответ @Roland о перенаправлении в файл может быть выполнен.

Вы получаете больше гибкости, используя Ethereum JSON-RPC (см. фильтры). Вы можете использовать широкий спектр языков для JSON-RPC (некоторые здесь ) и его возможности для ввода-вывода: например, вы можете использовать Python .