在仲裁的7nodes示例(https://github.com/jpmorganchase/quorum-examples/tree/master/examples/7nodes)中,部署的智能合约是node1和node7之间的私有契约。为了使其成为私有,脚本文件作者使用私钥传递的公钥。" 发送私有事务以生成从节点1发送的(私有)智能合约(SimpleStorage)"用于&#34 ;节点7(由在publicTransaction调用中通过privateFor:[" ROAZBWtSacxXQrOe3FGAqJDyJjFePR5ce4TSIzmJ0Bc ="]传递的公钥表示。)"
关键值" ROAZBWtSacxXQrOe3FGAqJDyJjFePR5ce4TSIzmJ0Bc ="生成了我无法理解?
此外,在JS文件script1.js完成后,它给了我合同交易发送:TransactionHash",我从未得到合同地址。 合同地址何时才能完成采矿? 我怎么知道这个地址是我的智能合约地址?
答案 0 :(得分:0)
已经为节点生成了密钥。 当您启动环境时,会为每个节点分配一个预定义的虚拟公钥。 这可以在以下位置找到:\ quorum-examples \ examples \ 7nodes \ keys
答案 1 :(得分:0)
在7Nodes示例中,您可以在raft / nodekey *文件中看到256位私钥,在static-nodes.json中看到nodename(enode)文本中的相应512位公钥。使用bootnode创建私钥和公钥对。并使用constellation-node生成.pub和.key文件。
答案 2 :(得分:0)
要回答问题的第二部分,要获取合同地址,可以使用eth.getTransactionReceipt(__);
,然后将获得的txHash
(引号)复制到空白处。
然后,合同地址应出现在返回的字段之一中。
查看this page了解更多信息/详细信息。
答案 3 :(得分:0)
这里使用的密钥是交易管理器的公钥,除了加密通信之外,它还负责发送和接收私人交易。您可以在节点的数据文件夹内名为 tm.pub
的文件中找到此密钥,并在文件 tm.key
中找到其关联的私钥。