我按照说明从Hyperledger项目https://github.com/hyperledger/fabric安装了Fabric代码库,并且能够使用./peer peer命令运行对等体.
Peer支持查找在网络上运行的其他对等方.现在Fabric支持使用Docker在同一台机器上运行Peer并运行它们 - https://github.com/hyperledger/fabric/blob/master/docs/dev-setup/devnet-setup.md
而不是在同一台机器上运行 - 我在另一台机器(Mac Mini)上设置了Peer并从其中一台机器运行命令./peer网络 - 它没有发现任何东西.
我的问题是如何配置在本地网络上发现Fabric Peers?
core.yaml文件中有发现配置,但不清楚如何启用它.
执行:
composer network ping -n calma-network -p hlfv1 -i admin -s adminpw
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
Error: Error trying to ping. Error: Composer runtime (0.8.0) is not compatible with client (0.11.0)
Command failed
Run Code Online (Sandbox Code Playgroud)
版本看起来一样:
composer -v
composer-cli v0.11.0
composer-admin v0.11.0
composer-client v0.11.0
composer-common v0.11.0
composer-runtime-hlf v0.11.0
composer-runtime-hlfv1 v0.11.0
Run Code Online (Sandbox Code Playgroud) hyperledger hyperledger-fabric hyperledger-composer ibm-blockchain
我一直在研究fabcar的例子,并且在没有发生任何改变的情况下让它完美运行.我正在尝试更新fabcar.go代码以添加更多字段并简单地玩w /示例,但我的docker图像没有更新w /正确的代码.
要安装链代码,此命令在cli容器上运行:
docker exec -e "CORE_PEER_LOCALMSPID=Org1MSP" -e "CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp" cli peer chaincode install -n fabcar -v 1.0 -p github.com/fabcar
Run Code Online (Sandbox Code Playgroud)
cli容器已设置此卷:
./../chaincode/:/opt/gopath/src/github.com/
Run Code Online (Sandbox Code Playgroud)
然而,在代码/去更新之后(我实际上已将它从Car更改为具有全新字段的Ticket对象并更新所有相关的链命令以反映),拆解,然后再次启动我仍然看到所有旧字段.
我在这里错过了什么?
这是在"调用"功能中更改为票证的代码片段
func (s *SmartContract) Invoke(APIstub shim.ChaincodeStubInterface) sc.Response {
// Retrieve the requested Smart Contract function and arguments
function, args := APIstub.GetFunctionAndParameters()
// Route to the appropriate handler function to interact with the ledger appropriately
if function == "queryTicket" {
return s.queryTicket(APIstub, args)
} else if function == "initLedger" {
return s.initLedger(APIstub)
} else if …Run Code Online (Sandbox Code Playgroud) Chaincode已经安装在对等文件系统中.为什么实例化链代码启动链代码容器?链码容器的目的是什么?
关于智能合约的几个问题很快
hyperledger - golang; 表达性?; 性能?; 安全?以太坊 - 坚固; 表达能力; 性能?; 安全?
如何确保智能合约以确保代码不被篡改?
双方如何信任并追踪智能合约的结果?任何审计/追溯能力?
同样在分散的理想世界中,如果智能合约中存在错误和/或缓冲区溢出导致一些损失,其法律责任是什么?
任何性能基准?例如,在10秒的时间内执行了2000个复杂的智能合约?
如何启用/限制对这些智能合约的安全访问?也就是说,只有Alice和Bob才能看到合同,而不是John
启动容器时出错:无法生成特定于平台的 docker 构建:构建返回的错误:1“无法加载包:包 ../../bin/github.com/hyperledger/fabric/chaincode/marbles:open /bin /github.com/hyperledger/fabric/chaincode/marbles:没有这样的文件或目录。
我看到它正在寻找一个相对目录。相对于什么?链码安装很好。如果链码安装了,为什么找不到实例化?1个同行。1 个人订购者。频道加入很好。
我最近开始使用Hyperledger Sawtooth进行播放,并且无法在java上提交事务,而python代码似乎没问题.
我已经在这里编写了基于api文档的python代码,然后尝试在java中编写一个.下面是java中的代码
import com.google.protobuf.ByteString;
import com.mashape.unirest.http.Unirest;
import sawtooth.sdk.processor.Utils;
import sawtooth.sdk.protobuf.*;
import java.security.KeyPair;
import java.security.KeyPairGenerator;
import java.security.Signature;
import java.security.spec.ECGenParameterSpec;
public class BatchSender {
public static void main(String[] args) throws Exception{
KeyPairGenerator keyPairGenerator = KeyPairGenerator.getInstance("EC");
ECGenParameterSpec parameterSpec = new ECGenParameterSpec("secp256k1");
keyPairGenerator.initialize(parameterSpec);
KeyPair keyPair = keyPairGenerator.generateKeyPair();
Signature ecdsaSign = Signature.getInstance("SHA256withECDSA");
ecdsaSign.initSign(keyPair.getPrivate());
byte[] publicKeyBytes = keyPair.getPublic().getEncoded();
String publicKeyHex = Utils.hash512(publicKeyBytes);
ByteString publicKeyByteString = ByteString.copyFrom(new String(publicKeyBytes),"UTF-8");
String payload = "{'key':1, 'value':'value comes here'}";
String payloadBytes = Utils.hash512(payload.getBytes());
ByteString payloadByteString = …Run Code Online (Sandbox Code Playgroud) java blockchain java-security hyperledger hyperledger-sawtooth
我遇到了getNative API,通过它来调用来自Hyperledger作曲家的链码.见这里:https://github.com/hyperledger/composer/issues/3120
有人可以告诉我这究竟是如何工作的?假如我有一个带有getter和setter的非常简单的链代码,我可以从作曲家的JS代码中调用它们
是否可以在Hyperledger结构中将两个不同的链码部署到同一通道
我正在通过这个教程hyperledger.github.io/composer/latest/tutorials/developer-tutorial在 Ubuntu 18-04 LTS 上研究超级账本区块链。我已经安装了所有先决条件,在运行“composer network install”的这一步中,我遇到了这个问题并尝试了一些解决方案,但仍然无法正常工作。请问有什么帮助吗?谢谢 !
~/tutorial-network$ composer network install --card PeerAdmin@hlfv1 --archiveFile tutorial-network@0.0.1.bna
Run Code Online (Sandbox Code Playgroud)
? 安装业务网络。这可能需要一分钟...错误:尝试安装业务网络时出错。错误:没有来自任何对等方的有效响应。来自尝试对等通信的响应是一个错误:错误:在截止日期前无法连接命令失败
blockchain hyperledger hyperledger-fabric hyperledger-composer ibm-blockchain