Можно ли обновить или изменить смарт-контракт (цепной код), развернутый в сети Hyperledger? - PullRequest
0 голосов
/ 27 апреля 2018

Можно ли обновить или изменить смарт-контракт (цепной код), развернутый в сети Hyperledger? т.е. я развернул умный контракт, блоки создаются с транзакциями, через некоторое время я хочу изменить код цепочки, возможно ли это сделать.

Ответы [ 2 ]

0 голосов
/ 27 апреля 2018

Поскольку вы пометили свой вопрос с помощью Hyperledger Composer, я бы добавил к предыдущему ответу, что с помощью composer вы сможете добиться такого же обновления с помощью следующих команд:

composer network install -c PeerAdmin@hlfv1 -a my-network@0.0.2.bna

и

composer network upgrade -c PeerAdmin@hlfv1 -n my-network -V 0.0.2

для обновления до v0.0.2 сети (код цепи).

0 голосов
/ 27 апреля 2018

По сути, мы не можем обновить установленный код цепи для определенного канала, но мы можем использовать версию кода цепи, чтобы отличить более новый обновленный код цепи от старого кода цепи ( мы обновляем Цепной код для операторов - обновление ).
Чтобы использовать новый обновленный цепной код, мы должны установить обновленный цепной код с новой версией ( здесь в примере версии 1, которая была версией 0 до ) с тем же именем цепного кода, что и у более старого имени цепного кода на одноранговом узле:

peer chaincode install -p chaincodedev/chaincode/sacc -n mycc -v 1

См. Тег -v в приведенной выше команде с тегами version 1 и -n с именем цепного кода.

Затем обновите код цепи на канале:

peer chaincode upgrade -n mycc -v 1 -c '{"Args":["a","10"]}' -C myc

См. Тег -v снова в приведенной выше команде с тегом версии 1 , -n с именем цепного кода и тегом -C с именем канала, для которого он создан.

Таким образом, после установки и обновления цепного кода он сохраняется на канале, и мы можем использовать более новый обновленный цепной код, обновляя их. Когда мы вызываем цепной код на одноранговом узле, он вызывает последний цепной код, установленный на канале.
например :

peer chaincode invoke -n mycc -c '{"Args":["set", "a", "20"]}' -C myc

Ссылки
1): пример обновления однорангового цепного кода (https://hyperledger -fabric.readthedocs.io / en / release-1.2 / commands / peerchaincode.html # peer-chaincode-upgrade-example )

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...