我正在根据以下教程设置具有谷歌身份验证的作曲家休息服务器:Using Google OAUTH2.0 with a REST server
它工作正常。但是,在创建每个参与者之后,我需要更改主机名以表示docker可解析的主机名。例如 :
1 - 添加参与者:
composer participant add -c admin@trade-network -d '{"$class":"org.example.trading.Trader","tradeId":"trader1", "firstName":"Jo","lastName":"Doe"}'
composer identity issue -c admin@trade-network -f jdoe.card -u jdoe -a "resource:org.example.trading.Trader#trader1"
composer card import -f jdoe.card
2-更改主机名:
sed -e 's/localhost:7051/peer0.org1.example.com:7051/' -e 's/localhost:7053/peer0.org1.example.com:7053/' -e 's/localhost:7054/ca.org1.example.com:7054/' -e 's/localhost:7050/orderer.example.com:7050/' < $HOME/.composer/cards/jdoe@trade-network/connection.json > /tmp/connection.json && cp -p /tmp/connection.json $HOME/.composer/cards/jdoe@trade-network/
这种方式可以快速解析主机名。但我想知道是否有更好的方法,每次添加参与者时我都不需要手动运行第二个命令。理想情况下,我想为将要添加的所有未来参与者设置正确的主机名。
是的,确实有比你的第二个命令更清洁的方法。最有效的方法是在一开始就设置对等管理卡。当您在Installing the development environment教程中首次设置Fabric网络时,您使用命令./createPeerAdminCard.sh
在控制您的开发环境的步骤中生成对等管理员卡。这是您生成所有其他业务网卡所基于的第一个连接配置文件的位置。
你需要做的是使用--host
标志在这一步设置正确的主机名(这个标志没有很好地记录,但我在source code here中发现了它)
./createPeerAdminCard.sh --host {{HOST}}
当然你记得用正确的主机名{{HOST}}
替换fabric-endpoint.example.com:8080
。