Есть ли способ использовать модуль web3 "coder" как автономный?

Я пытаюсь использовать https://github.com/ethereum/web3.js/blob/master/lib/solidity/coder.js , чтобы легко кодировать/декодировать мои данные, но мне трудно понять, как использовать Это.

Доступна ли она как функция web3 напрямую?

Может кто-нибудь объяснить мне, как его использовать?

Похоже на проблему XY . Пожалуйста, спросите о вашей актуальной проблеме. Как правило, кодирование и декодирование автоматически обрабатываются Contract Methods .
OP, возможно, потребуется декодировать данные в журналах событий, для чего нет прямого пути, кроме как использовать coder.js.
Я пытаюсь использовать JSON rpc api без транзакции с web3. так что кодирование, к сожалению, нигде не делается :( но если вы знаете, как кодировать аргумент и декодировать данные «автоматически» без web3, а только модуль кодера, я все слышу. Я пытаюсь избежать использования javascript как сколько можно совершать/принимать звонки.Только кодирование/декодирование было бы мысль найти.
Какой язык вы используете? Вы проверили, есть ли библиотека, которая может вам помочь?

Ответы (1)

Вы можете это сделать, для чего вам нужно будет использовать модуль node.js и browserify для создания coder.js.

  1. Пожалуйста, следуйте инструкциям по загрузке и установке node.js и модуля браузера.
  2. Загрузите web3.js-0.16.0 с github (какая самая последняя версия)
  3. Учитывая, что ваш node.js и browserify установлены, создайте файл (назовем его index-coder.js) в корневом каталоге web3.js-0.16.0 с содержимым
var coder = require('./lib/solidity/coder');
        // NOTE NOTE the path in the require
        // dont override global variable
        if (typeof window !== 'undefined' && typeof window.coder === 'undefined') {
            window.coder = coder;
        }
        module.exports = coder;
  1. browserify index-coder.js -o bundled.jsв корне каталога web3.js-0.16.0, где был создан index-coder.js. Шаг 4: У вас будет файл с именем bundled.js, который содержит код кодера.

У меня есть местоположение github https://github.com/The-Neo-Noir/BloodbankEventDapp/tree/master/js/bundled.js , созданное с примером того, как использовать coder.js (bundled.js).

Когда я использую , var SolidityCoder = require("web3/lib/solidity/coder.js");я получаю эту ошибку: Error: Cannot find module 'web3/lib/solidity/coder.js'Знаете ли вы, в чем причина? Спасибо.
@sas Вам нужен «./» в начале, который должен бытьrequire('./web3/lib/solidity/coder')