Я взял паузу в разработке и вернулся через месяц.В то время мне помогал человек из IBM, который мог бы помочь мне сделать это.
И я здесь, так что отметьте, некоторые ошибки тоже.
Парень из IBM (Я не буду называть его имя, конечно) Сам сказал, что служба загрузки цепного кода (channel / chaincode / Install chaincode) не работает и не работает должным образом.Кроме того, я задал простой вопрос на платном форуме IBM Blockchain, но мне не помогли (они даже не ответили на вопрос), даже спустя почти 3 месяца.И вы не можете найти учебник (кроме образцов мрамора), который бы работал от начала и до конца.
Извините, если мне кажется, что я зря здесь, но мне было очень тяжело поставить еговсе вместе, чтобы работать на 100%.
Я не буду показывать, как создать файл модели или транзакционные сценарии (потому что в примерах их много), но команды, которые необходимо выполнить для запуска цепного кодана IBM и создать петлевой API.С учетом сказанного ...
Перейдем к тому, что важно: код
Перво-наперво, Настройки среды:
lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.6 LTS
Release: 16.04
Codename: xenial
ВАЖНО: IBM Blockchain (до сих пор 2019-03-23) не будет работать на виртуализированных машинах, таких как виртуальный ящик или гипервизор, из-за пары зависимостей npm .Но аппаратная виртуальная машина (HVM), такая как Amazon, подойдет.
STEPS
Установите узел и npm (строго следуйте перечисленным версиям)
node -v
v8.15.1
npm -v
6.4.1
curl -O https://hyperledger.github.io/composer/unstable/prereqs-ubuntu.sh
chmod u+x prereqs-ubuntu.sh
./prereqs-ubuntu.sh
npm install -g --unsafe-perm composer-cli@0.20.5
npm install -g --unsafe-perm composer-rest-server@0.20.5
composer-rest-server -v
v0.20.5
composer -v
v0.20.5
Создайте проект, используя hyperledger composer-plays .Экспортируйте его и перейдите в корневой каталог проекта, который вы только что загрузили (проект также может быть разработан локально).
Загрузите файл параметров подключения в IBM Blockchain (Обзор / Профиль подключения / Загрузить) и назовите его какconnection-profile.json
.Найдите узел registrar
, вы будете использовать его для создания карт.
Запустите npm install
.Если что-то пойдет не так при установке зависимостей, проверьте, используете ли вы точно те же версии, что и я.Если нет, удалите все и начните заново с начала.
хитрая зона
composer card create -f ca.card -p connection-profile.json -u admin -s *your-password*
composer card import -f ca.card -c ca
composer identity request --card ca --path ./credentials -u admin -s *your-password*
Вы увидите, что папка учетных данных сгенерирована.Внутри этой папки найдите файл admin-pub.pem
(credentials / admin-pub.pem), скопируйте весь его контент и затем загрузите его в IBM Blockchain (Участники / Сертификаты / Добавить сертификат).Вам будет предложено перезапустить одноранговые узлы, нажмите «да»
После того, как одноранговые узлы вернутся в оперативный режим, на той же вкладке «Сертификаты» найдите только что добавленный сертификат, в столбце «ДЕЙСТВИЯ» щелкните меню, а затемвыберите опцию «Сертификат синхронизации».
composer archive create -t dir -n .
composer card create -f adminCard.card -p connection-profile.json -u admin -c ./credentials/admin-pub.pem -k ./credentials/admin-priv.pem --role PeerAdmin --role ChannelAdmin
composer card import -f ./adminCard.card -c adminCard
composer network install -c adminCard -a bna-name@version.bna
composer network start -c adminCard -n *bna-name* -V *bna-version* -A admin -C ./credentials/admin-pub.pem -f delete_me.card (Output: Successfully created business network card: Filename: delete_me.card)
composer card create -n *bna-name* -p connection-profile.json -u admin -c ./credentials/admin-pub.pem -k ./credentials/admin-priv.pem (Output file: admin@*bna-name*.card)
composer card import -f ./admin@*bna-name*.card (Card file: ./admin@*bna-name*.card Card name: admin@*bna-name*)
Теперь вы сгенерируете остальные API, используя (автоматически генерируемые с помощью сваггера)
composer-rest-server -c admin@*bna-name* -n never -w true -p 8080
Наслаждайтесь!