首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >IBM Blockchain -简单应用

IBM Blockchain -简单应用
EN

Stack Overflow用户
提问于 2019-02-13 01:36:41
回答 2查看 228关注 0票数 0

好的,我需要在IBM (初学者计划)中开发一个简单的应用程序。但是,在经历了近一个月的尝试和错误以及成千上万的教程之后,我无法完成它。所以,我的情况非常简单(我猜):我有一个models.cto文件:

代码语言:javascript
复制
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”,并分别查询(每个公司或任何id )。

我可以使用Swagger生成器做一个示例,但是它没有像预期的那样工作,甚至认为它创建了我想要的所有方法,比如:

总之,我想将我的链码部署到一个对等点中,在的一个通道中。我做了一个大理石的例子,它做得很好。

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

我正在遵循“如何”指导本地开发和部署到IBM。因此,我正在创建一个bna文件composer archive create -t dir -n .,然后创建一个带有下载连接设置的卡(从IBM下载),然后使用本教程中的在初学者计划中部署业务网络,我在这一步失败了:composer network start -c adminCard -n bna-blockchain -V 0.0.1 -A admin -C ./credentials/admin-pub.pem -f delete_me.card。也许是因为我无法在IBM上实例化我的链码。

对不起,如果看上去很复杂,就问我你对我的问题有什么疑问。

提前谢谢,任何帮助都是很棒的!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-03-26 13:40:29

我休息了一下,一个月后回来了。在这段时间里,我得到了IBM内部一个人的帮助,他可以帮助我完成任务。

我在这里要指出的是,还有一些失败。

IBM的家伙(当然我不会说他的名字)本身就说,上传链码的服务(通道/链码/安装链码)坏了,不能正常工作。而且,我在论坛上问了一个容易回答的问题,但是根本没有帮助(他们甚至没有回答这个问题),即使在将近3个月之后。而且你找不到一个教程(除了弹珠样本),它自始至终都有效。

对不起,如果看起来我在这里无缘无故,但我有一个非常困难的时间,把所有的工作100%。

我将不介绍如何创建模型文件或事务性脚本(因为示例中有大量此类脚本),但您需要执行的命令才能在IBM上运行链码并生成回环API。这么说..。

让我们来谈谈最重要的一点:代码

首先,环境设置:

代码语言:javascript
复制
lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 16.04.6 LTS
Release:        16.04
Codename:       xenial

的重要性:IMPORTANT(20993-03-23)不会在虚拟机器(如虚拟盒或)下运行,因为有一对npm依赖关系。但是像amazon这样的硬件虚拟机(HVM)会做得很好。

步骤

安装节点和npm(严格按照所列版本执行)

代码语言:javascript
复制
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

使用超级分类账作曲家游乐场创建一个项目。导出它并导航到您刚刚下载的项目的根目录中(项目也可以在本地开发)。

下载IBM (概述/连接配置文件/下载)上的连接设置文件,并将其命名为connection-profile.json。找到节点registrar,您将使用它来创建卡片。

运行npm install。如果在安装依赖项时出现问题,请检查是否使用的版本与我使用的版本完全相同。如果没有,请全部卸载,然后从头开始。

棘手区域

代码语言:javascript
复制
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 (凭据/admin-pub.pem),复制它的全部内容,然后将其上传到IBM (成员/证书/添加证书)。将提示您重新启动对等程序,单击“是”

对等方返回联机后,在“同一证书”选项卡中,找到您刚刚添加的证书,在“操作”列中单击菜单,然后选择“同步证书”选项。

代码语言:javascript
复制
 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*)

现在,您将使用以下方法生成rest (使用swagger自动生成)

代码语言:javascript
复制
 composer-rest-server -c admin@*bna-name* -n never -w true -p 8080

享受吧!

票数 0
EN

Stack Overflow用户

发布于 2019-02-27 07:44:16

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

代码语言:javascript
复制
composer network install -c adminCard -a vehicle-manufacture-network.bna
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54661203

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档