hyperledger Composer如何实现转账功能
发表于:2026-10-31 作者:千家信息网编辑
千家信息网最后更新 2026年10月31日,这篇文章将为大家详细讲解有关hyperledger Composer如何实现转账功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。/* * @param {org.
千家信息网最后更新 2026年10月31日hyperledger Composer如何实现转账功能
这篇文章将为大家详细讲解有关hyperledger Composer如何实现转账功能,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
/* * @param {org.example.mynetwork.SetupDemo} setupDemo * @transaction */async function initializationFun(setupDemo) { const NS = "org.example.mynetwork"; const factory = getFactory(); //创建三个参与者 var zhangsan = factory.newResource(NS, "Person", 'zhangsan001') zhangsan.name = "张三"; zhangsan.balance = 100; var lisi = factory.newResource(NS, "Person", 'lisi') lisi.name = "李四"; lisi.balance = 100; var wangwu = factory.newResource(NS, "Person", 'wangwu') wangwu.name = "王五"; wangwu.balance = 100; const partRegistry = await getParticipantRegistry(NS+'.Person') await partRegistry.add(zhangsan); await partRegistry.add(lisi); await partRegistry.add(wangwu); //创建资产 var car = factory.newResource(NS, "Car", '川A0001') car.personId = zhangsan.id; car.color = "red" const assetRegistry = await getAssetRegistry(NS+'.Car'); await assetRegistry.add(car)}/** * Sample transactiontransaction TransactionCar{ * @param {org.example.mynetwork.TransactionCar} transactionCar * @transaction */async function transactionCarFun(transactionCar){ const NS = "org.example.mynetwork"; const from = transactionCar.from; const to = transactionCar.to; const price = transactionCar.price; from.balance = from.balance + price; to.balance = to.balance - price; const partRegistry = await getParticipantRegistry(NS+'.Person') await partRegistry.update(from); await partRegistry.update(to); debugger const car = transactionCar.car; car.personId = to.id; if(!car.transactionCars){ car.transactionCars = [] } car.transactionCars.push(transactionCar) const assetRegistry = await getAssetRegistry(NS+".Car"); await assetRegistry.update(car);}/** * Write your model definitions here */namespace org.example.mynetworkparticipant SampleParticipant identified by participantId { o String participantId o String firstName o String lastName}asset SampleAsset identified by assetId { o String assetId --> SampleParticipant owner o String value}transaction SampleTransaction { --> SampleAsset asset o String newValue}event SampleEvent { --> SampleAsset asset o String oldValue o String newValue}participant Person identified by id { o String id o String name o Double balance}abstract asset Vehicle identified by licensePlate { o String licensePlate o String color} asset Car extends Vehicle { o String personId o TransactionCar[] transactionCars optional}transaction SetupDemo {}transaction TransactionCar{ o Double price o String car o String from o String to}/* * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. *//** * Sample access control list. */rule Default { description: "Allow all participants access to all resources" participant: "ANY" operation: ALL resource: "org.example.mynetwork.*" action: ALLOW}rule SystemACL { description: "System ACL to permit all access" participant: "org.hyperledger.composer.system.Participant" operation: ALL resource: "org.hyperledger.composer.system.**" action: ALLOW}rule NetworkAdminUser { description: "Grant business network administrators full access to user resources" participant: "org.hyperledger.composer.system.NetworkAdmin" operation: ALL resource: "**" action: ALLOW}rule NetworkAdminSystem { description: "Grant business network administrators full access to system resources" participant: "org.hyperledger.composer.system.NetworkAdmin" operation: ALL resource: "org.hyperledger.composer.system.**" action: ALLOW}{ "$class": "org.example.mynetwork.TransactionCar", "price": 10, "car": "川A0001", "from": "zhangsan001", "to": "lisi"}关于"hyperledger Composer如何实现转账功能"这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。
篇文章
功能
转账
更多
不错
实用
三个
内容
参与者
文章
知识
资产
张三
李四
王五
参考
帮助
有关
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
互联网科技保险
天津摩尔互联网科技
融势互联网科技
狮子座互联网科技培训
科技互联网创业计划书
丰台科技园 互联网公司
互联网科技公司的市场部门
互联网教育科技公司vipkid
欧洲十大科技互联网公司
科技与互联网哪个更好
互联网对科技的发展
昭通互联网科技选哪家
崇明区互联网教育科技诚信经营
本届互联网博览会上的黑科技
乌鲁木齐新华智原互联网科技学校
互联网科技大赛获奖感言
下一代互联网重大应用科技园
万物互联网智能科技
安徽零酒互联网科技有限公司
广西泛欧互联网科技有限公司
手磨咖啡
中智农互联网科技
亿人帮互联网科技有限公司
互联网科技有限公司经营范围
金诺互联网科技
互联网科技开发公司
互联网科技实习生岗位职责
燊美集互联网科技有限公司
产业互联网科技服务公司
互联网界的黑科技