IBM区块链 - 简单应用程序

问题描述 投票:0回答:2

好吧,我需要在IBM Blockchain(入门计划)中开发一个简单的应用程序。但经过近一个月的试错和成千上万的教程后,我无法完成它。所以,我的情况非常简单(我猜):我有一个models.cto文件:

namespace com.test.models

/**
 * A company asset.
 */
asset Company identified by company_id {
  o String company_id
  o String document_key
  o String document_value
  o String name
  o String telephone
  o String email
}

/**
 * A person_in_charge asset.
 */
asset PersonInCharge identified by person_in_charge_id {
  o String person_in_charge_id
  o String company_id
  o String name
  o String document_key
  o String document_value
  o String email
  o String language
  o String created_date_time
}

我试着让它成为参与者。我试图进行交易然后用.js文件做一些事情,但是只有使用资产,参与者等的复杂例子的用例和教程。我只想分别插入“PersonInCharge”和“Company”并查询(每个公司或by id whatever)也分开。

我能够使用Swagger api生成器做一个例子,但它没有按预期工作,甚至认为它创建了我想要的所有方法,如下所示:

总而言之,我想将我的链代码部署在IBM Blockchain的通道内的对等体中。我确实部署了一个大理石的例子,它确实很有效。

真的自我描述错误,而不是一般的消息:

我正在遵循本地开发和部署到IBM的“如何”指南。因此,我正在创建一个bna文件composer archive create -t dir -n .然后使用下载的连接设置创建一张卡(来自IBM),否则使用本教程Deploying a business network on Starter Plan ,我在这一步失败:composer network start -c adminCard -n bna-blockchain -V 0.0.1 -A admin -C ./credentials/admin-pub.pem -f delete_me.card。也许因为我无法在IBM Blockchain上实例化我的链码。

对不起,如果它看起来很混乱,请问我是否对我的问题有任何疑问。

在此先感谢,任何帮助都会很棒!

swagger hyperledger-fabric hyperledger hyperledger-composer ibm-blockchain
2个回答
0
投票

在启动网络之前,您需要安装它:

composer network install -c adminCard -a vehicle-manufacture-network.bna

0
投票

我在开发过程中休息了一个月后又回来了。在那段时间里,我得到了IBM内部人员的帮助,他可以帮我完成任务。

而我在这里也是如此指出,也有些失败。

IBM人(我当然不会说他的名字)本身说上传链码(频道/链码/安装链码)的服务被打破了,但效果不好。此外,我在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

重要信息:由于有几个npm依赖项,IBM Blockchain(直到现在2019-03-23)将无法在虚拟机或hyperv等虚拟机上运行。但像亚马逊那样的硬件虚拟机(HVM)就可以了。

脚步

安装节点和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 [email protected]
npm install -g --unsafe-perm [email protected]

composer-rest-server -v
v0.20.5

composer -v
v0.20.5

使用hyperledger composer-playground创建项目。导出它并浏览刚刚下载的项目的根目录(该项目也可以在本地开发)。

从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 [email protected]



 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*)

现在你将使用(使用swagger自动生成)生成其余的api

 composer-rest-server -c admin@*bna-name* -n never -w true -p 8080

请享用!

© www.soinside.com 2019 - 2024. All rights reserved.