我打算使用新的Ethereum Proof-of-Authority on Azure。我了解这适合独立于外部公共以太坊区块链网络的企业区块链网络。
我可以在该网络中使用以太币吗? 如果可能的话,它将是仅在我的网络中可用且不受货币价值影响的以太坊的定制版本吗?
我可以通过编程方式为在系统中注册并向其钱包中加载以太币的用户创建以太坊钱包吗?
答案 0 :(得分:1)
我可以在该网络中使用以太币吗?
是的,在PoA共识性以太坊专用区块链中,您仍将以太(ETH)作为本币。但是,请注意,如果您在主网中拥有10 ETH,并不意味着您在私有区块链中就有10 ETH。
例如,在mainnet和Kovan testnet中查看此地址。注意,两个地址都是0x8557f73c1C1BeAd825dAFe02c50aEb5ffA50F619
。
为什么会发生这种情况?
好吧,当您生成私钥(或使用硬件钱包)时,可以从中派生公钥(地址)。
同一密钥不仅可以用于管理主网中的ETH和令牌余额,还可以用于所有基于以太坊的网络中。
如果可能的话,它只能是以太坊的定制版本 是否可以在我的网络中使用并且不受货币价值的影响?
是的,您的PoA私有区块链中的ETH只能在该网络内使用。而且,它不会影响ETH currency value in the mainnet。
我可以以编程方式为注册用户创建以太坊钱包吗 在我的系统中,将以太币放入钱包中?
是的,可以。为此,请检出web3 web3.eth.accounts.create()
和web3.eth.personal.newAccount()
。
要将ETH加载到新帐户中,可以使用web3.eth.sendTransaction()
。发件人(from
必须来自您拥有私钥的帐户。当然,发送方必须有足够的ETH才能发送给接收方(to
)。
需要注意的一件事,您需要使用名为Wei的基本单元来发送ETH。 1 ETH = 1000000000000000000 Wei(18个零)。结帐this tool。
我希望这会有所帮助。
答案 1 :(得分:1)
我可以在该网络中使用以太币吗?
答案是技术上,是的,因为这是一个以太坊区块链网络。但是,Azure以太坊权限证明模板的引导过程不会将任何以太币预分配给Chain Specification(生成)文件中的任何预分配帐户。因此,没有以太开始。
这背后的主要理由是,除非使用工作量证明共识,否则以太在私有以太坊网络中没有任何作用。以太坊中的工作量证明本身就需要气体来发送交易,因此以太坊等价的气体必须在网络上进行交易。启用权限证明共识后,就不会产生用气成本,因此不需要以太坊。
是否有可能是仅在我的网络中可用且不受货币价值影响的以太坊的定制版本?
在此网络上使用的以太币将完全属于该网络,在基于以太坊的任何其他区块链网络上均不会使用。
我可以通过编程方式为在系统中注册并向其钱包中加载以太币的用户创建以太坊钱包吗?
再次,技术上,是的。但是,这是我不同意以上答案的地方。除了初始的引导验证程序节点外,不应直接将帐户作为网络的一部分来创建。帐户应通过编程方式创建(使用类似于ethereumjs-wallet的库)或由外部钱包(例如MetaMask)进行管理。实际上,Azure Ethereum PoA文档概述insecure是解锁用于帐户创建的个人API,并且帐户应该在网络外部进行预签名交易。
尽管如此,同样,网络上没有最初的以太币供应,这将需要您重新编写链规范并重新引导网络,这并不是Azure PoA模板的本意。