作者| Nicolas Schapeler
译者 | 天道酬勤,责编| Carol
出品| 区块链大本营(ID:blockchain_camp )
作者最近写了一篇有关开始使用Android进行以太坊开发的文章,其中演示了如何在Android中设置web3j以及如何传输以太币。发布后,作者收到读者留言,想看看有关使用web3j与自定义ERC20Token进行交互的内容,所以就有了今天这篇文章。
文中将使用作者创建的基本 ERC20 智能合约 JavaToken,将使用它及其所在的存储库进行演示,届时将在上面部署和运行的网络将是使用Truffle的本地Ganache Testnet。
JavaToken:
https://github.com/nschapeler/EthereumJ-Smart-Contract/blob/master/Truffle/contracts/JavaToken.sol
准备:生成智能合约Java包装器
这个准备是为我们的智能合约获取一个Java包装器。之所以要执行这一步,是因为从技术上讲,如果你的合约已经部署,则不是强制性的,但是在以后与合约进行交互时,它将使事情变得容易得多。
为此,请先使用Solidity编译器编译Solidity合约。如果你使用的是Truffle,则只需在JavaToken存储库的Truffle目录中运行以下命令即可:
truffle compile
接下来,安装web3j命令行界面。
Mac / Linux用户执行以下操作:
curl -L get.web3j.io | sh
Windows用户执行以下操作:
Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://raw.githubusercontent.com/web3j/web3j-installer/master/installer.ps1'))
现在我们已经安装了所有内容,只需运行以下代码:
web3j truffle generate Truffle/build/contracts/JavaToken.json -o src -p com.javaToken
从JavaToken目录中,这将为JavaToken智能合约生成一个包装器,以使其在以太坊中的交互更加容易。