问题标签 [hyperledger-chaincode]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
570 浏览

node.js - 从链码中的命令行请求获取 MSPID

我目前正在尝试评估请求者 MSPID 以授权能够在链码上请求函数的特定成员列表,但是当我要求“stub.getCreator().mspId”时,它总是给我“未定义”

我目前正在使用诸如通过“docker exec”之类的命令调用该函数。我检查了我的交易是否应该在“getCreator”之前签名才能工作,但我不知道是否可以通过命令行调用来签署交易。

我的命令行请求是:

验证功能:

在链码中使用验证功能:

我收到:

我希望“getCreator().mspid”不是未定义的,有人知道什么可以解决我的问题吗?

0 投票
1 回答
277 浏览

go - shim.GetStateByPartialCompositeKey 迭代器如何在此代码中工作?

我正在编写将一些数据放入分类帐的链代码,然后尝试使用 shim.GetStateByPartialCompositeKey() 从迭代器中获取数据列表来列出它。现在我想根据时间戳对我的数据进行排序(仅根据日期格式化,而不需要小时、分钟或秒)。所以,我想知道我从迭代器中列出的数据是否按照它们存储在分类帐中的时间戳排序,还是我需要对它们进行排序?!

0 投票
1 回答
288 浏览

java - 如何在代理后面构建java链码

有谁知道如何在代理后面构建 java 链码?在代理后面实例化 java 链代码时,我收到以下错误。

我正在使用示例链代码(fabirc-samples/chaincode/chaincode-example02/java)

0 投票
0 回答
96 浏览

java - 为 java 链码添加属性文件

我想在链代码可以读取的配置文件中添加一个包含网络名称等参数的配置文件,我可以在不重新安装/实例化链代码的情况下进行编辑。这可能吗?

我尝试在根项目文件夹中创建一个 config.properties 文件。我有以下代码。

运行链代码单元测试时,我可以看到属性文件是可访问的,并且打印了网络密钥的值。当我部署并进入容器日志时,properties file not found会打印出来。

我在终端中执行了以下操作,它读取了文件。

docker cp config.properties dev-peer0.org1.com-mycc-1.0:config.properties

有一个更好的方法吗?或者我应该避免从属性文件中读取,因为链代码不应该执行任何 io 操作。

0 投票
2 回答
271 浏览

hyperledger-fabric - Java Chaincode 中的初始化等效项

Java链码中的Init函数等价物是什么?我一直在查看此文档,但无法找出运行时将调用的函数peer chain code instantiate...

这是围棋变体。

我正在寻找在部署 java 链码时初始化分类帐的等效方法或方法。我的 Chaincode 正在实现ContractInterface.

0 投票
1 回答
136 浏览

hyperledger-fabric - [Hyperledger-Composer] 不允许尝试在 InvalidRelationship 上获取财产所有者 - ACL 问题

在玩 Hyperledger Composer 时出现以下错误。

错误:不允许尝试获取 InvalidRelationship 上的财产所有者。由于 ID 为“Asset:org.property.registration.Property”的集合中 ID 为“1003”的对象不存在而创建了 InvalidRelationship;[原因=参与者 'org.property.registration.User#0001' 没有对资源 'org.property.registration.Property#1003' 的“读取”访问权限]

我正在尝试访问作为另一个资产属性列表一部分的资产属性。

我正在尝试访问 PropertyListing 资产并更改其中的属性资产的状态。 (我想从其他用户发布的propertyListing购买房产)

我希望并且根据错误消息,这似乎是一些权限问题,阻止我购买其他用户的房产帖子。

在这里,我想访问属于PropertyListing的属性。我正在尝试找出我可以使用的 ACL 的不足之处。仍在尝试。

欢迎各位大侠提出建议!!!

0 投票
1 回答
79 浏览

java - Invoking java chaincode from another java chaincode

Is there a function that enables me to invoke or query another chaincode in Java. The Go equivalent for what I am looking: func (stub *ChaincodeStub) InvokeChaincode.

0 投票
1 回答
202 浏览

javascript - 在 Fabric 上编写链码时,我是否仅限于链码存根定义的函数?

例如,当我使用 VScode Hyperledger 插件启动一个 js 项目时,我会得到一个这样的智能合约:

如您所见,我尝试通过命名来添加自己的功能。我来自以太坊,所以我习惯于定义变量并像传统程序一样命名它们。但是,我觉得我需要遵守存根定义的内容。是这样吗?如果是这种情况,Fabric 的 API 是否更新了账本,或者我可以在合约中明确写入权限?

0 投票
1 回答
166 浏览

hyperledger-fabric - chaincode-docker-devmode 中的 CORE_PEER_ADDRESS

我正在关注面向开发人员的教程链代码,在终端 2 中使用开发模式测试部分中,有以下环境变量的实例化

CORE_PEER_ADDRESS=peer:7052

你能告诉我这个变量的用途是什么,为什么使用的对等端口是 7052?

我在 docker-compose 文件中找不到在此端口上运行的容器。

0 投票
1 回答
26 浏览

hyperledger-fabric - 我们可以自定义交易类型或在链码中添加一些代码格式来阻止以确定交易类型吗?

超级账本中的块由标头、数据和元数据等字段组成。块哈希不包含元数据,因此可以将其更改为具有资产类型定义以确定块中的交易类型。