В автономном режиме создавайте учетные записи и подписывайте транзакции

У меня есть вопрос о клиентской части Ethereum, может кто подскажет...

Речь идет о создании DApp, нам нужен веб-клиент, способный в автономном режиме создавать закрытый ключ и открытый ключ, а также отправлять подписанные транзакции на узел Ethereum.

После некоторого исследования мы пришли к выводу, что это возможно с помощью библиотеки web3.js (и других, таких как ethereumjs), но подразумевает использование nodejs и browserfy, верно? Вопрос в том:

Есть ли другое более простое решение, например, использование простого файла js?

Спасибо заранее!

Ответы (2)

Вы делаете неверное предположение. Использование Web3.js не требует Browserify или Node.JS. Вы можете добавить зависимость web3.js в код HTML, как и любую другую библиотеку JavaScript. Эта цепочка инструментов сборки требуется только для сборки дистрибутива Web3.js.

Вот простое приложение index.html, использующее web3.js.

Достаточно ли web3.js для создания закрытых и открытых ключей? И достаточно для подписания транзакций? Или я тоже должен использовать ethereumjs?
Если вам не нужны детерминированные ключи, закрытый ключ — это просто любое безопасно случайное число. web3.js может получить открытый ключ/адрес из закрытого ключа.
Могу ли я использовать web3.js отдельно для подписания транзакции?

Попробуйте consensys lightwallet

функции txutils можно использовать для создания транзакций в автономном режиме, например, в реализациях холодного кошелька с воздушным зазором.

https://github.com/ConsenSys/eth-lightwallet

Спасибо! При попытке оффлайн eth-lightwallet-master/example/webwallet.html я получил эти ошибки на консоли javascript: Uncaught ReferenceError: async не определен в getBalances (webwallet.html:52) в HTMLButtonElement.onclick (webwallet.html:154) что нормально?