重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章主要介绍了使用Hyperledger composer创建一个新的业务网络,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。
目前累计服务客户超过千家,积累了丰富的产品开发及服务经验。以网站设计水平和技术实力,树立企业形象,为客户提供做网站、网站建设、网站策划、网页设计、网络营销、VI设计、网站改版、漏洞修补等服务。创新互联始终以务实、诚信为根本,不断创新和提高建站品质,通过对领先技术的掌握、对创意设计的研究、对客户形象的视觉传递、对应用系统的结合,为客户提供更好的一站式互联网解决方案,携手广大客户,共同发展进步。
在1的地方,输入自己的名字,我写的是tutorial-network
然后点击2,最后在右面3选择Deploy进行部署,成功之后截图:
现在我们已经创建并部署了业务网络,您应该会在我们的钱包中看到一个名为admin的新业务网络卡,用于我们的业务网络教程 - 网络。钱包可以包含业务网卡以连接到多个部署的业务网络。
连接到外部区块链时,业务网卡代表连接到业务网络所需的所有内容。它们包括连接详细信息,身份验证资料和元数据。
要连接到我们的业务网络,请点击我们业务网络卡下的立即连接。
我这里已经连接过了,所以是灰色的,你们第一次的话都是深颜色,可以点击进入页面如图:
点击1那个文件,然后编辑2,将里面的内容替换成
/** * My commodity trading network */ namespace org.example.mynetwork asset Commodity identified by tradingSymbol { o String tradingSymbol o String description o String mainExchange o Double quantity --> Trader owner } participant Trader identified by tradeId { o String tradeId o String firstName o String lastName } transaction Trade { --> Commodity commodity --> Trader newOwner }
最后执行3
该域模型定义了单个资产类型Commodity
和单个参与者类型Trader
以及Trade
用于修改商品所有者的单个交易类型。
现在已经定义了域模型,我们可以定义业务网络的事务逻辑。Composer使用JavaScript函数表达业务网络的逻辑。这些功能在交易提交处理时自动执行。
4.1 点击添加文件按钮
4.2 单击脚本文件并单击添加
4.3 删除脚本文件中的代码行并将其替换为以下代码
/** * Track the trade of a commodity from one trader to another * @param {org.example.mynetwork.Trade} trade - the trade to be processed * @transaction */ async function tradeCommodity(trade) { trade.commodity.owner = trade.newOwner; let assetRegistry = await getAssetRegistry('org.example.mynetwork.Commodity'); await assetRegistry.update(trade.commodity); }
此功能仅owner
根据newOwner
收到的Trade
交易的财产更改商品的财产。然后它将修改Commodity
后的内容保存到资产注册表中,用于存储Commodity
实例。
访问控制文件定义了业务网络的访问控制规则。我们的网络很简单,所以默认的访问控制文件不需要编辑。基本文件为当前参与者提供了networkAdmin
对业务网络和系统级操作的完全访问权限。虽然可以有多个模型或脚本文件,但在任何业务网络中只能有一个访问控制文件。
现在我们有模型,脚本和访问控制文件,我们需要部署和测试我们的业务网络。
单击部署更改以升级业务网络。
其实就是左下角的那个Deploy,我们每一步都做了,不必执行
接下来,我们需要建立一些参与者(在这种情况下,以测试我们的业务网络交易商),创造了一个素材资源(商品),然后使用我们的贸易交易改变所有权的商品。执行下面的那个test
跳转到test,界面发生改变
8.1 确保您在左侧选择了交易者选项卡,然后点击右上角的创建新参与者
因此删除那里的代码并粘贴以下内容,下面两个代码是创建两个参与者!!!就是执行两遍操作,但是输入不同的内容,保证两个参与者,千万不要写在一起!!!!
{ "$class": "org.example.mynetwork.Trader", "tradeId": "TRADER1", "firstName": "Jenny", "lastName": "Jones" }
{ "$class": "org.example.mynetwork.Trader", "tradeId": "TRADER2", "firstName": "Amy", "lastName": "Williams" }
9.1 现在我们有两个交易者参与者,我们需要他们交易的东西。创建资产与创建参与者非常相似。我们正在创建的商品将拥有一个所有者属性,表明它属于交易者,并且tradeId是TRADER1
9.2 点击资产下的商品标签,然后点击创建新资产,删除资产数据并将其替换为以下内容
{ "$class": "org.example.mynetwork.Commodity", "tradingSymbol": "ABC", "description": "Test commodity", "mainExchange": "Euronext", "quantity": 72.297, "owner": "resource:org.example.mynetwork.Trader#TRADER1" }
成功截图:
现在我们有两个交易员和一个商品在他们之间进行交易,我们可以测试我们的交易交易。事务是Hyperledger Composer业务网络中所有变化的基础,请尝试从“ 我的业务网络”屏幕创建另一个业务网络并使用更高级的业务网络模板。
10.1 点击左侧的Submit Transaction按钮,确保交易类型为交易,将交易数据替换为以下内容,或者更改详细信息,最后点击提交
{ "$class": "org.example.mynetwork.Trade", "commodity": "resource:org.example.mynetwork.Commodity#ABC", "newOwner": "resource:org.example.mynetwork.Trader#TRADER2" }
10.2 检查我们的资产已经改变所有权从TRADER1
到TRADER2
,通过扩大资产数据部分。你应该看到所有者被列为resource:org.example.mynetwork.Trader#TRADER2
10.3 要查看我们业务网络的完整交易历史记录,请点击左侧的所有交易。以下是每个交易提交时的清单。您可以看到,我们使用用户界面执行的某些操作(例如创建交易参与者和商品资产)被记录为交易,即使它们未在我们的业务网络模型中定义为交易。这些事务被称为“系统事务”,并且对于所有业务网络都是通用的,并且在Hyperledger Composer运行时中定义
现在交易已成功运行,我们应该注销商业网络,最终在我们开始的“ 我的商家网络”屏幕上结束。
在屏幕的右上角是一个标有admin的按钮。这将列出您当前的身份,注销,单击管理以打开下拉菜单,然后单击我的商业网络。
介绍:
在本地使用Playground,您可以使用连接到在浏览器本地存储中工作的“Web浏览器”,或者您可以使用连接到通常在名为“hlfv1”的组中使用真实结构的连接
如果你连接到一个真正的 Fabric,那么你很可能已经创建了一个卡,用于PeerAdmin和ChannelAdmin角色的身份 - 这通常称为PeerAdmin。这是您用于使用Composer部署和更新网络的卡。
当您将网络部署到真正的 Fabric时,需要完成其他字段才能点击“ 部署”按钮 - 您需要提供网络管理员的详细信息。
滚动到部署屏幕的底部以查找网络管理员的凭据。对于简单的开发结构和许多测试网络,您可以提供ID和秘密。注册ID - 管理员注册密码 - adminpw
当指定ID和秘密时,您可以单击“ 部署”按钮并在第三步中继续教程。
如果您正在使用自定义或生产结构 - 请联系您的结构管理员以获取网络管理员的详细信息。
当您使用真实光纤网并单击部署更改时,您将看到一个添加弹出式对话框,要求您从下拉列表中指定安装卡和升级卡。通常,您指定与用于部署初始网络相同的PeerAdmin卡。如果您不确定,请联系您的Fabric Administrator。
选择卡片,然后点击升级按钮。请注意,在真正的Fabric上,这可能需要几分钟才能完成。
感谢你能够认真阅读完这篇文章,希望小编分享的“使用Hyperledger composer创建一个新的业务网络”这篇文章对大家有帮助,同时也希望大家多多支持创新互联,关注创新互联行业资讯频道,更多相关知识等着你来学习!