2015-10-07 3 views
2

У меня есть два контракта, которые говорят A и B, и два узла, работающих в разных машинах Machine1 и Machine 2 с одинаковым идентификатором сети, и я добавил одноранговый узел с использованием URL-адреса узла. Контракт А разворачивается машиной1 на блочной цепочке, контракт Б разворачивается машиной. Теперь я хочу получить доступ к функции контракта А от машины2 и машины 1, а также получить доступ к функции контракта Б от машины2 и машины 1. Как я могу получить доступ к функциямКак я могу получить доступ к функции контракта из разных узлов?

ответ

1

Для создания Abi Гот https://etherchain.org/solc и разместить код контракта и получить ABI

использования вара контракта = eth.contract (ABI). (contractaddress)

Заменить ABI и обратиться с ABI и адресом контракта.

Это позволит вам получить доступ к контракту.

1

Блок-схема Ethereum представляет собой распределенную платформу приложений. Это означает, что код контракта не разворачивается на определенный узел; скорее, он развернут в распределенный регистр, каждый из которых имеет копию (при условии, что каждый узел достиг консенсуса с остальной частью сети). Аналогично, когда вы вызываете функцию контракта, вызов функции выполняется, по крайней мере, на тех узлах вашей сети, которые активно ведут добычу (проверка транзакций).

Контракты создаются путем трансляции транзакции в сеть. Функции по развернутым контрактам называются также путем трансляции транзакции.

Подготовка сделки, которая создает договор, возвращает адрес договора. В этом адресе указывается уникальное местоположение контракта на блок-цепочке; Запиши это. Когда вы отправляете эту транзакцию в блок-цепочку, дождитесь, пока будет запущен текущий блок. Как только это произойдет, все узлы должны иметь копию кода в течение нескольких миллисекунд и затем обрабатывать транзакции, которые вызывают функции в этом контракте.

После того, как контракт создан, подготовьте еще одну транзакцию, которая вызывает функцию, ссылаясь на получателя транзакции на адрес контракта, который вы ранее записали. Затем передайте эту транзакцию в сеть. Неважно, какой узел сначала получает транзакцию. В конце концов, вскоре после того, как транзакция будет добыта, все узлы в сети будут иметь обновленное состояние блок-цепи, которое отражает любые изменения, вызванные вызовом функции.