Я пользователь трюфеля. Я хотел бы создать один контракт и протестировать его. При тестировании я хотел бы настроить три узла, связать их, получить доступ к контракту и протестировать его. Это возможно? Или я делаю странные вещи? Пожалуйста, скажите мне, если это возможно.
Я настроил. Я использовал admin.addPeer
команду, свяжи их.
Затем, чтобы развернуть этот контракт на node1, я выполнил truffle migrate
команду.
Затем, чтобы создать приложение, которое я создал с помощью Truffle на узле 1, я выполнил truffle build
команду.
И я хотел бы создать приложение на узле 2, узле 3, а затем получить доступ к тому же контракту. ← Как поступить?
Кажется, я вижу, что ты ищешь.
Можно ли с уверенностью сказать, что вы просто хотите протестировать немного более реалистичную сеть с более чем одним участвующим узлом и более чем одним участвующим клиентом?
Если это так, вы должны быть в состоянии разделить проблемы.
Частная цепочка Вы можете настроить частную цепочку с тремя узлами. Если цепочка работает должным образом, контракт, который вы развертываете на одном узле, будет добыт майнером (любым узлом или узлами, которые добывают эту цепочку) и в конечном итоге будет развернут на всех узлах, когда он будет добыт. То же самое для транзакций и событий, если таковые имеются. Каждый узел в сети Ethereum имеет одинаковое представление о данных консенсуса. Просто невозможно не развернуть контракт на всех узлах.
Процесс сборки Front End Truffle (2.x) объединяет загрузочный код с вашим приложением и помещает объединенный файл в ./build
папку. Это не связано с тем, как этот код загружается в браузер.
Внешний интерфейс обычно обслуживается из постоянного местоположения, поэтому использование рабочей станции сборки в качестве веб-сервера является допустимым вариантом. Вы хотите оставить RPC на порту по умолчанию 8545 или, по крайней мере, на всех клиентах, поскольку один и тот же внешний интерфейс должен работать везде. Я бы придерживался значения по умолчанию, чтобы однажды он работал в тестовой или основной сети для людей, использующих настройки по умолчанию. Можно с уверенностью сказать, что вашему внешнему интерфейсу требуется узел Ethereum с RPC на порту по умолчанию.
Надеюсь, поможет.
rpc
является удаленным вызовом процедуры. Он имеет ряд свойств, таких как включение/отключение, адрес для прослушивания и порт для прослушивания ( rpcport
).
комодоро