标签: blockchain

什么是 Hyperledger 结构对等网络中的客户端?

什么是 Hyperledger Fabric peer 网络中的客户端?

客户的角色是什么?

什么可以成为 Hyperledger Fabric 区块链网络中的客户端?

blockchain hyperledger

1
推荐指数
1
解决办法
2309
查看次数

找不到“对等”命令的超级账本

我正在编写本教程:

http://hyperledger-fabric.readthedocs.io/en/latest/getting_started.html

在命令中的“创建和加入频道”部分:

peer channel create -o orderer.example.com:7050 -c $CHANNEL_NAME -f ./channel-artifacts/channel.tx --tls $CORE_PEER_TLS_ENABLED --cafile /opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ordererOrganizations/example.com/orderers/orderer.example.com/msp/cacerts/ca.example.com-cert.pem
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

未找到命令“peer”,您的意思是:
“moreutils”包中的命令“pee”(宇宙)“gerstensaft”包中的
命令“啤酒”(宇宙)
“耳朵”包中的命令“peel”(宇宙)
命令“梨” ' 来自包 'php-pear' (main)
peer: 命令未找到

blockchain hyperledger-fabric

1
推荐指数
1
解决办法
4576
查看次数

通过 TxId 或哈希搜索块

对于任何平台,是否有任何用例或流程,其中通过区块链中的哈希或交易 ID 搜索块?

blockchain hyperledger hyperledger-fabric

1
推荐指数
1
解决办法
1727
查看次数

hash() 函数产生不一致的哈希值

我有一个函数可以生成一个block包含一些数据的函数:

def new_block(self, proof, previous_hash=None):

    ...

    block = {
        'message': 'New Block Forged',
        'index': len(self.chain) + 1,
        'transactions': self.current_transactions,
        'proof': proof,
        'previous_hash': previous_hash, or self.hash_block(self.chain[-1]),
        'timestamp': response.tx_time or time(),
    }
Run Code Online (Sandbox Code Playgroud)

self.chain是块所在的块列表。在previous_hash(先前块的散列),被传递给函数,并创建时间戳。不要太担心实际数据的细节(好吧,那里可能有问题,但它更多地与hash()功能的关系比数据发生的事情)

接下来我对块进行哈希处理,并将其添加到块中:

block['hash'] = self.hash_block(block)

hash_block函数如下所示:

@staticmethod
def hash_block(block):

    block_string = json.dumps(block, sort_keys=True)
    return hash(block_string)
Run Code Online (Sandbox Code Playgroud)

这个函数创建了一个与行中的下一个块完全不同的哈希(链上附加到前面块的最后一个块的哈希与前面块的哈希不匹配previous_hash。但是,他们使用的是相同的功能:

这一行: 'previous_hash': previous_hash or self.hash_block(self.chain[-1])

和这一行: block['hash'] = self.hash_block(block)

是重要的线路(和 hash_block)函数。一个块被创建,被散列并附加散列,然后另一个块被创建并对前一个块进行散列,并且它与创建该块时为该块创建的散列不匹配。

另外,我从 hashlib.sha256 开始,当我注意到这个问题时,我决定看看它是否是散列函数,所以我切换到stock散列,但我仍然遇到问题 - 最终我希望它能够工作hashlib,但我想如果我能先让它工作hash......我会解决这个问题 …

python hash json list blockchain

1
推荐指数
1
解决办法
1397
查看次数

以太坊坚固性计算的奇怪行为

我在简单的solidity代码下面写了这个来计算一些数字。但是,以太坊区块链在每个函数上给出不同的输出。我的代码有什么问题还是以太坊区块链问题?

我的可靠性代码:

pragma solidity ^0.4.24;

contract Calculate {

    uint balance = 50000000000000000000;

    function done() public pure returns (uint) {
        return (50000000000000000000 / 3000) * 3000;
    }

    function fail() public view returns (uint) {
        return (balance / 3000) * 3000;
    }

}
Run Code Online (Sandbox Code Playgroud)

输出:

done() function returns 50000000000000000000

fail() function returns 49999999999999998000
Run Code Online (Sandbox Code Playgroud)

请在此处查看现场示例: https : //ropsten.etherscan.io/address/0xf45a2a66be9835fdc9e1065875808616cb8e752e#readContract

blockchain ethereum solidity calculation

1
推荐指数
1
解决办法
113
查看次数

数字签名每次都不一样

数字签名取决于消息和密钥。假设接收者多次复制消息(我们唯一id的原因),为什么签名会不同(因为消息和密钥相同)?

cryptography blockchain

1
推荐指数
1
解决办法
1114
查看次数

在 node_modules 中找不到 bigchaindb 驱动程序?

我正在尝试将 Node.js SDK 用于 BigchainDB,但我总是收到错误消息

错误:找不到模块“bigchaindb-driver”

但是bigchaindb-driver已经安装了npm install

请检查这个github问题

node.js npm blockchain bigchaindb

1
推荐指数
1
解决办法
338
查看次数

Gradle 编译失败“找不到 com.github.everit-org.json-schema:org.everit.json.schema:1.11.1。” 在 Hyperledger Fabric 中

我是 Hyperledger Fabric 的新手。当我从 cli 容器安装到对等方后实例化用 java 编写的链码时,出现了一些错误:

FAILURE: Build failed with an exception.

* What went wrong:  
Could not resolve all files for configuration ':compileClasspath'.  
> Could not find com.github.everit-org.json-schema:org.everit.json.schema:1.11.1.
  Searched in the following locations:  
      file:/root/.m2/repository/com/github/everit-org/json-schema/org.everit.json.schema/1.11.1/org.everit.json.schema-1.11.1.pom
      file:/root/.m2/repository/com/github/everit-org/json-schema/org.everit.json.schema/1.11.1/org.everit.json.schema-1.11.1.jar
      https://repo.maven.apache.org/maven2/com/github/everit-org/json-schema/org.everit.json.schema/1.11.1/org.everit.json.schema-1.11.1.pom
      https://repo.maven.apache.org/maven2/com/github/everit-org/json-schema/org.everit.json.schema/1.11.1/org.everit.json.schema-1.11.1.jar  
  Required by:
      project : > org.hyperledger.fabric-chaincode-java:fabric-chaincode-shim:1.4.2
Run Code Online (Sandbox Code Playgroud)

我认为这可能是 Maven 存储库的问题,但是当我在主机的终端中使用 gradle 时,它​​运行正常,例如:

fabric@ubuntu:~/fabric1.4/fabric-samples/chaincode/master-liuqi/java$ sudo /opt/gradle/bin/gradle -b build.gradle build

Task :compileJava
Note: /home/fabric/fabric1.4/fabric-samples/chaincode/master-liuqi/java/src/main/java/org/hyperledger/fabric/example/SimpleChaincode.java uses or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.

BUILD SUCCESSFUL in 0s  
2 actionable tasks: …
Run Code Online (Sandbox Code Playgroud)

java gradle blockchain hyperledger-fabric chaincode

1
推荐指数
2
解决办法
3097
查看次数

锯齿验证器中需要备份(分类帐)的文件是什么

  • 从旧锯齿网络中的旧数据编排新网络所需的主要文件集是什么(我不想扩展旧锯齿网络)。

我想从分类账的最后一块备份对网络操作至关重要的基本文件。

  • 我有在锯齿验证器中生成的文件列表,并带有诗人的意思:
    • 块-00.lmdb
    • 诗人键状态-0371cbed.lmdb
    • 块00.lmdb锁
    • poet_consensus_state-020a4912.lmdb
    • 区块链ID
    • poet_consensus_state-020a4912.lmdb-lock
    • merkle-00.lmdb
    • poet_consensus_state-0371cbed.lmdb
    • merkle-00.lmdb锁定
    • txn_receipts-00.lmdb
    • 诗人键状态020a4912.lmdb
    • txn_receipts-00.lmdb锁定
    • 诗人钥匙状态020a4912.lmdb锁
  • 重新启动网络或使用分类帐中的旧数据创建新网络时,如果不包括每个文件的意义以及后果如何?

blockchain hyperledger hyperledger-sawtooth

1
推荐指数
1
解决办法
100
查看次数

以太坊,使用哪种同步模式,快速还是完整?

geth程序在运行,并提供--rpc服务。

服务做什么:

  • 同步块。
  • 接受 rpc 请求以创建事务。
  • 还有另一个程序尝试读取新块,并找出与我们钱包中的地址相关的交易,并将数据同步到本地数据库(例如mysql)。

目前我们正在使用full模式,但它有点慢,并且需要更多的磁盘空间。


问题

  • fast模式是否足以满足上述用途?
  • 哪个更好?
  • 如果我们从fullmdoe切换到fastmode,会geth不会要重新下载所有年的历史?或者,它会重用历史?

(我在Ethereum现场问了另一个关于以太坊的问题,有兴趣的也可以看看:https : //ethereum.stackexchange.com/questions/78293/how-to-migrate-geths-data )

blockchain ethereum go-ethereum geth

1
推荐指数
1
解决办法
5623
查看次数