Я хотел бы скомпилировать Solidity в браузере. web3
имеет устаревшие compile()
функции, поэтому вы больше не можете звонить web3.eth.compile.solidity()
.
Я пытался, чтобы browserify
require('solc') / require('solc/wrapper')
попытаться получить доступ к функциям компиляции, но, похоже, у него есть проблемы.
Я нашел один проект, который делает это, называется browser-solc, но последний раз он обновлялся год назад, и я не уверен, что хочу на него полагаться.
Один из вариантов — просто создать конечную точку и выполнить ее на стороне сервера, а затем вернуть результат пользователю для использования в развертывании смарт-контракта.
Любые мысли или решения по этому вопросу приветствуются.
Для локальной разработки небольших сторонних проектов я использовал онлайн- компилятор remix .
По мере развития проекта я начал выполнять эти вычисления на стороне сервера с реализацией Ethereum, которую я использовал: EthereumJ .
В моем случае я хотел скомпилировать контракт только один раз, так как он не собирался меняться. Ваш конкретный вариант использования, скорее всего, определит, где создаются двоичные файлы.
Я бы указал вам направление solc-js . Он отлично работает для компиляции на стороне клиента imo.
Трюфель - это то, как я это делаю.
npm i truffle
И у него есть собственный движок geth, поэтому для его работы не нужно устанавливать testrpc. Подробнее здесь: https://github.com/trufflesuite/truffle
Мэлоун