необходимо извлечь транзакцию из блока в любой цепочке блоков - PullRequest
0 голосов
/ 04 июня 2018

Мне поручено выполнить эту задачу: мне нужно извлечь транзакции из блока в любой сети цепочки блоков и создать файл журнала, используя язык программирования GO.Я искал блокчейн ethereum и пытался сделать то же самое, используя geth клиент, но он заставляет меня загрузить весь блокчейн, который больше, чем 100 ГБ.Поэтому мой вопрос заключается в том, есть ли способ получить доступ к блоку в любой блокчейне, прочитать его транзакции и использовать его для создания файла журнала.Мне просто нужно немного подняться.Помощь приветствуется.спасибо

1 Ответ

0 голосов
/ 05 июня 2018

Пожалуйста, используйте трюфельный клиент Ganache ethereum.Загрузка с http://truffleframework.com/ganache/

Я создал код NodeJS для чтения транзакции из последнего блока.Шаг 1: Установите nodeJS и NPM, если они не установлены на вашем компьютере.Шаг 2: Создайте новую папку «demo» и создайте новый файл package.json.Поместите приведенный ниже код в файл package.json

    {
  "name": "transactionRead",
  "version": "1.0.0",
  "description": "Blockchain Transaction Read",
  "main": "index.js",
  "scripts": {
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "dependencies": {
    "web3": "^0.19.0"
  },
  "author": "",
  "license": "ISC"
}

Создайте файл index.js и разместите его под кодом.

var Web3 = require ('web3');var fs = require ('fs');// Создать файл журнала для хранения транзакции fs.writeFile ('log.txt', 'Hello Transaction!', Function (err) {if (err) throw err; console.log ('Created!');});// создаем экземпляр web3 с использованием провайдера HTTP.// ПРИМЕЧАНИЕ в mist web3 уже доступен, поэтому сначала проверьте, доступен ли он, прежде чем создавать экземпляр if (typeof web3! == 'undefined') {web3 = new Web3 (web3.currentProvider);} else {// установить требуемого поставщика из Web3.providers web3 = new Web3 (new Web3.providers.HttpProvider ("http://localhost:7545"));}

// Отслеживать транзакцию блокчейна, если найдены измененияполучить данные транзакции var filter = web3.eth.filter ('latest', function (error, blockHash) {if (! error) {var block = web3.eth.getBlock (blockHash, true); if (block.transactions.длина> 0) {console.log («найдено» + block.transactions.length + «транзакции в блоке» + blockHash); fs.appendFile ('log.txt', JSON.stringify (block.transactions), функция (ошибка)) {if (err) throw err; console.log ('Обновлено!');}); console.log (JSON.stringify (block.transactions));}} {console.log ("нет транзакций в блоке:"+ blockHash);}}});

Шаг 4: Выполнить команду $ node index.js через командную строку

Дайте мне знать, если потребуется какая-либо помощь. Спасибо,

...