我最近一直在研究区块链,我遇到了以太坊和chain.com
这两个平台似乎都有助于开发和部署区块链应用程序,其中chain.com专门针对金融公司.
但是,这两者之间究竟有什么区别?
我正在Hyperledger中创建一个区块链应用程序,该应用程序为一家制造公司执行投标过程。招标过程涉及4个供应商(供应商A到供应商D)。出价最低的一方获胜。
我可以为此创建链码。但是,由于它是区块链,因此供应商可以看到彼此的出价(例如,仅通过查看块的内容即可)。此外,中标的供应商将知道谁真正中标了。
我想在区块链中执行以下隐私规则:
一种。特定供应商的出价只能由制造公司和供应商本身查看(例如,供应商A无法看到供应商B的出价)
b。只有制造公司和中标的供应商知道谁中了(例如,如果供应商A输了标书,那么供应商A只知道它输了标书,却不知道是谁中标了)
我已经查看了交易证书的目的,并且我认为这将解决我的隐私问题。
我可以使用REST API请求多个交易证书。但是,我不确定如何使用交易证书。
它是否打算在链码之外使用(例如,是否用于加密将传递给调用函数的参数)?
还是要将其作为参数传递给链码函数,并在链码内部使用它对特定数据进行加密,然后再将其存储在区块链中?
如何使用交易证书执行实际的加密?
我当前正在将Hyperledger架构的v0.6用于我的链码。对于我的前端,我正在使用Node.JS HFC SDK v0.6.5。
我是否可以使用示例代码作为基础来理解如何使用交易证书解决隐私问题?
我是IBM Hyperledger Fabric的新手。
在尝试查看文档时,我看到有几个状态getState,putState,delState等。
https://github.com/hyperledger/fabric/blob/master/core/chaincode/shim/chaincode.go
我想知道分类帐是否“固定不变”,我们如何“删除”状态?
假设这是一个由每个事务或每个事务链接的分类帐,不是不可能删除状态或至少破坏哈希链吗?
谢谢!
谁能解释它的mapping工作原理以及为什么使用它?像数组一样是项目的集合。我没有扎实的经验,我才刚刚开始。我在solidity官方文档页面上找到了此代码。
pragma solidity ^0.4.11;
Contract CrowdFunding {
// Defines a new type with two fields.
struct Funder {
address addr;
uint amount;
}
struct Campaign {
address beneficiary;
uint fundingGoal;
uint numFunders;
uint amount;
mapping (uint => Funder) funders;
}
uint numCampaigns;
mapping (uint => Campaign) campaigns;
function newCampaign(address beneficiary, uint goal) returns (uint campaignID) {
campaignID = numCampaigns++; // campaignID is return variable
// Creates new struct and saves in storage. We leave out the mapping type. …Run Code Online (Sandbox Code Playgroud) 我正在虚拟机Ubuntu 14.04上编写本教程http://hyperledger-fabric.readthedocs.io/en/latest/build_network.html,然后运行脚本
./byfn.sh -m up启动网络.当我运行它来安装链码时:
peer chaincode install -n mycc -v 1.0 -p github.com/hyperledger/fabric/examples/chaincode/go/chaincode_example02
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
Error: Error endorsing chaincode: rpc error: code = Unknown desc = chaincode error (status: 500, message: Error installing chaincode code mycc:1.0(chaincode /var/hyperledger/production/chaincodes/mycc.1.0 exists))
Run Code Online (Sandbox Code Playgroud)
我怎样才能解决这个问题?
注意:我也跑 docker exec -it cli bash
我在web3版本上1.0.0-beta.27运行私有以太坊区块链用于测试目的.区块链是挖掘并且有两个用户,现在我想要subscribe区块链中的事件并执行一些操作.代码如下:
var Web3 = require("web3");
var ether_port = 'http://localhost:8545'
var web3 = new Web3(new Web3.providers.HttpProvider(ether_port));
web3.eth.subscribe("pendingTransactions"
, function(err, result){
if (err){ console.log(err) }
else { console.log("result: ", result) }
});
Run Code Online (Sandbox Code Playgroud)
我有类似的东西:
Error: The current provider doesn't support subscriptions: HttpProvider
at Subscription.subscribe
Run Code Online (Sandbox Code Playgroud)
从某种意义上说,当我web3.eth.subscribe在node.js控制台上进行操作时,我得到:
{ [Function] call: undefined }
Run Code Online (Sandbox Code Playgroud)
即使web3-1.0.0可以使用函数状态的文档:https://web3js.readthedocs.io/en/1.0/web3-eth-subscribe.html.
那么这只是文档与实际实现不同步的问题吗?我用错了吗?
如果没有实现,那么收听链中变化的最佳方式是什么?例如,如果我想要实时更新用户的帐户余额?这是除了一个函数的天真实现,该函数每隔n几分之一就会对链进行一次调整.
以太坊中有“毒气”,而比特币根本不支持循环,我很好奇超级账本结构如何避免无限循环?
第一次使用Kotlin源运行corDapp(corDapp-example)时,IntelliJ会引发此错误-“模块'cordapp-example中找不到错误类'com.example.NodeDriverKt'”。我在项目结构中寻找了此类,可以看到名为NodeDriver.kt的文件,其中包含函数“ main”,但看不到任何类声明。任何消除此错误的解决方案将不胜感激。IntelliJ
我遇到了与此问题完全相同的问题https://ethereum.stackexchange.com/questions/7707/is-it-possible-to-preload-contracts-in-the-genesis-block?rq=1
Agian,是否可以通过分配alloc - > code字段来预定义合约,
但是,似乎无论我调用的合约中的哪个方法,无论此方法的逻辑和内容如何,它总是返回合同本身的字节码.
这可能是我部署合同的原因:
当我调用test()时,获取:
当我调用test2()时,获取:
当我调用test3(1)时,获取false,这不是1 == 1.
我已经浏览了相关的主题,发现了这个,https://ethereum.stackexchange.com/questions/30366/how-does-the-genesis-json-file-define-the-initial-state-of-the -blockchain
看起来存储设置是必要的但我完全不知道我应该写什么键/值.
那我怎么处理这个案子呢?
我在Sawtooth上解雇了一笔交易.我可以使用API查看交易数据.我的问题是如何解码事务有效负载.
{
"header": {
"batcher_public_key": "03d58421f80cf7f2d51efd7f4fc28fd07a81de146f7d01acc70c9e5dcfdf2cc20f",
"dependencies": [],
"family_name": "document",
"family_version": "1.0",
"inputs": [
"7d5acb"
],
"nonce": "",
"outputs": [
"7d5acb"
],
"payload_sha512": "9be6b4029768c2dda71b86eed2b1ba441442ec56714b863993f12aeab09242ef84087bc53b0cfadb93bbf99bcc7cdb8e03d71b1158887c8c3735abafb9765a43",
"signer_public_key": "03d58421f80cf7f2d51efd7f4fc28fd07a81de146f7d01acc70c9e5dcfdf2cc20f"
},
"header_signature": "e4379a4a4f66c52677df299ddc136a968efb64fba9de30acdf230a719442cdc56c2cf55953c14bbc5cc68991a8bef156df3d32fcf6c37f201c279f6ad7065cab",
"payload": "o2RWZXJiY3NldGROYW1leCBlZjlkMThjZGIwYjNkZDNmNWU1ZWE2MDliZjY3MDhmOWVWYWx1ZWA="
}
Run Code Online (Sandbox Code Playgroud)
我想解码有效载荷":"o2RWZXJiY3NldGROYW1leCBlZjlkMThjZGIwYjNkZDNmNWU1ZWE2MDliZjY3MDhmOWVWYWx1ZWA=".
任何人都可以指导.
blockchain ×10
ethereum ×5
hyperledger ×4
solidity ×2
bitcoin ×1
chain ×1
corda ×1
go-ethereum ×1
gradle ×1
ibm-cloud ×1
kotlin ×1
mapping ×1
node.js ×1