我的项目有区块链扩展,我想通过使用web3j扩展android客户端以直接使用以太坊。我目前的问题是获取合同实例来执行薄荷功能。
合约已通过使用Remix IDE和Metamask帐户进行部署。显示链工作的代码片段使用了一些性质不明确的令牌类实例:在某些地方,它被认为应该与web3j包一起提供,在另一些地方,它应该生成一个引用,例如在Truffle的帮助下。
// Connect Web3j to the Blockchain
String rpcEndpoint = "http://localhost:8545";
Web3j web3j = Web3j.build(new HttpService(rpcEndpoint));
// Prepare a wallet
String pk = "0x5bbbef76458bf30511c9ee6ed56783644eb339258d02656755c68098c4809130";
// Account address: 0x1583c05d6304b6651a7d9d723a5c32830f53a12f
Credentials credentials = Credentials.create(pk);
// Load the contract
String contractAddress = "0xe4F275cE131eF87Cb8bF425E02D9215055e9F875";
ERC20 javaToken = ERC20.load(contractAddress, web3j, credentials, new DefaultGasProvider()
源
如何通过部署合同地址来创建新令牌来获得合同实例?
Web3j具有抽象类Contract
,该类应用作您的ERC20
和ERC721
令牌实现的父类。
在引擎盖下,他们使用抽象类TransactionManager
的一个实现来执行链上的调用。有关更多信息,请查看库的源代码。
感谢Jahangir Jadi为web3j ERC20的实现提供线索和参考。