我用Docker镜像设置了Hyperledger Fabric V0.6.我写了小链代码程序并执行一些操作.根据Hyperledger区块链的请求存储和获取数据.
我重新开始我的链代码程序,数据仍然存在.Ofcouse这应该是预期的行为.
但是,当我使用命令docker-compose停止我的Hyperledger结构并使用docker-compose start再次启动它然后启动我的chaincode程序时,我发现在重启之前写入的整个数据都消失了.我在区块链中找不到任何数据.
如何避免Hyperledger的这种行为?我在单个对等体/节点上运行它.对于多个对等体,如果其中一个对等体重新启动,则来自其他对等体的数据/事务将被复制到其上.但考虑到最糟糕的情况,所有同行都会失败.这是否意味着我们放弃了所有数据?
docker blockchain docker-compose hyperledger hyperledger-fabric
我正在开发一个 POC,我必须在其中存储一些数据,例如对象的 ID、价格、所有者等等。是否可以使用智能合约将这些东西存储在区块链上。如果不是,有什么方法可以使用区块链来实现它。(我做了一些研究,人们在 SCM 行业使用区块链。他们一定存储了这些数据)。
我正在尝试在我的本地Hyperledger Fabric v1.0环境中安装我的自定义链代码.
为此,我按照文档构建了您的第一个网络,我在github项目中使用了第一个网络示例.不,它正在运行./byfn.sh -m up并执行所有脚本以进行通道创建,链代码安装和实例化,所有这些都是通过运行script.sh文件完成的.
现在我更改了以下内容以试用我的自定义链码
peer chaincode install -n mycc -v 1.0 -p github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02>&log.txt
Run Code Online (Sandbox Code Playgroud)
我改变了
peer chaincode install -n mycc -v 1.0 -p github.com/myuserId/fabrcicV1_chaincodes/mychaincode >&log.txt
Run Code Online (Sandbox Code Playgroud)
现在通过运行./byfn.sh -m up获取异常
2017-08-22 11:01:17.048 UTC [msp] GetDefaultSigningIdentity -> DEBU 002 Obtaining default signing identity
2017-08-22 11:01:17.048 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 003 Using default escc
2017-08-22 11:01:17.048 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 004 Using default vscc
Error: Error getting chaincode code chaincode: path to …Run Code Online (Sandbox Code Playgroud) 创建超级分层结构网络时,您可以在crypto-config.yaml和中定义组织,订购者和同行configtx.yaml.
但是,如何将新组织或新对等方添加到已设置的网络中的现有组织?运行cryptogen并configtxgen指向仅包含新组织/同行的配置文件?重新生成一切?
我最近开始使用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
我的笔记本电脑上有一个私有奇偶校验节点设置。每当在此私有以太坊区块链中发布交易时,如何确定交易费用为0,这意味着我可以发布“ gas:0”的交易?
示例:帐户A有20个以太币,帐户B有0个以太币。当我将10个以太币从帐户A转移到帐户B时,帐户A现在显示9.980,而帐户B显示10。
如何防止多余的气体被扣除?
任何帮助表示赞赏。
我想创建一个可查看的函数(需要向用户返回一个字符串),该函数在msg.sender的映射中进行搜索,如果发件人的值为x,我希望合同继续进行。在混音中一切正常,但是如果我将其上载到ropsten,它将不再可用。这是一个已知的问题?我也尝试过tx.origin,结果相同。那是我尝试过的有问题的代码:
function getLink() public view returns(string){
if(tokenBalances[msg.sender]>0){
return link;
}else{
return "You need to purchase a token at first...";
}
}
Run Code Online (Sandbox Code Playgroud)
编辑:我认为问题是,当使用可见函数时,没有msg.sender,因为没有实际事务?有没有一种方法可以在不使用“视图”功能的情况下将值返回给用户?
Using the Substrate blockchain framework, how can I convert between Substrate specific types and Rust primitive types and vice versa?
For example:
T::Moment) to a u64T::Balanceetc...
关于如何在Unity 中的空项目中使用Kin Unity SDK的逐步说明,有什么很好的解释?