赞
踩
从广义上讲,有web3j支持三种类型的以太坊交易:
为了进行这些交易,必须有以太币(以太坊区块链的代币)存在于交易发生的以太坊账户中。这是为了支付gas成本,这是为支付参与交易的以太坊客户端的交易执行成本,支付了这个成本就能将结果提交到以太坊区块链上。获得以太币的说明下文会说到。
此外,我们还可以查询智能合约的状态。
要想获得以太币Ether你有两种途径可以选择:
- 1.自己开采挖矿
- 2.从别人那里获取以太币
在私有链中自己挖矿,或者公共测试链(testnet
)是非常简单直接的。但是,在主要的公有链(mainnet
)中,它需要很多很明显的专用GPU时间,除非你已经拥有多个专用GPU的矿机,否则基本上不太可行。如果你希望使用私有链,则在这个官方文档中有一些指导。
要购买以太币Ether,你需要通过交易所。由于不同的地区有不同的交易所,你还需要研究自己去哪儿合适。官方文档中包含多个交易所,是一个很好的参考。
针对Ethereum以太坊有许多专用测试网络或者叫测试链,他们由各种客户端支持。
对于开发,建议你使用Rinkeby
或KoVan
测试链。这是因为他们使用的工作量证明POA
共识机制,确保交易和块能够一致并及时的创建。Ropsten
测试链,虽然最接近公有链(Mainnet
),但是因为它使用的工作量证明是POW
共识机制,过去已受到攻击,对以太坊开发人员来说往往有更多的问题。
你可以通过Rinkeby
测试链的Rinkeby Crypto Fauce
请求以太坊币,具体怎么做可以看这里https://www.rinkeby.io/。
有关如何请求Kovan
测试链的细节可以在这里找到。
如果你需要在Ropsten
上的得到一些以太币,将你的钱包地址的消息发布到web3j gitter channel,然后会发送一些给你。
在ethereum以太坊测试链testnet
中,挖掘难度低于公有链mainnet
。这意味着你可以用普通的CPU,比如你的笔记本电脑来挖掘新的以太币。你需要做的是运行一个以太坊客户端,例如geth
或Parity
,开始做一些储备。进一步的资料可在他们的官方网站上获得。
一旦你开采了一些以太币,你就可以开始使用以太坊区块链了。
然而,如上所述,使用Kovan
或者Rinkeby
测试网络更简单些。
当在Ethereum以太坊发生交易时,必须为执行该交易的客户端支付交易成本,将该交易的输出提交到以太坊区块链Ethereum blockchain。
此成本是通过gas来测量的,其中gas是用于在以太坊虚拟机中执行交易指令的数量。请参阅官方文档以获取更多信息。
当你使用以太坊客户端时,这意味着,有两个参数用来指示你希望花费多少以太来完成传输:
这两个参数共同决定了你愿意花费在交易成本上的最大量的以太币Ether。也就是说,你花费的gas不会超过gas price * gas limit
。gas价格也会影响交易发生的速度,这取决于其他交易是否能为矿工提供更有利的gas价格。
你可能需要调整这些参数以确保交易能及时进行。
当你用一些以太币Ether创建了一个有效的帐户时,你可以使用两种机制来与以太坊进行交易。
这两种机制都是Web3j所支持的。
为了通过以太坊客户端进行交易,首先需要确保你正在使用的客户端知道你的钱包地址。最好是运行自己的以太坊客户端,比如geth
/Parity
,以便可以更方便的做到这一点。一旦你有一个客户端运行,你可以创建一个以太坊钱包,通过:
personal_newAccount
为geth
/Parity
创建新以太坊账户。通过创建你的钱包文件,你可以通过web3j打开帐户,首先创建支持geth
/Parity
管理命令的web3j实例:
Admin web3j =
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。