波场tron 合约交互中 java如何解决 parameter 编译

在波场的trc20合约交互中 都需要进行传递 parameter。 但是官方只提供了 js的。全网上也有 python 唯独没找到java的。

经过的艰苦的寻找 终于找到了 在web3j中提供的这样的方法。

首先项目中需要引入

  1. <dependency>
  2. <groupId>org.web3j</groupId>
  3. <artifactId>core</artifactId>
  4. <version>3.2.0</version>
  5. </dependency>

下面是代码

我主要是用来对接转账trc20的usdt。所以只写了转账的工具方法,有其他交互需求大家可以一起研究。

  1. import org.web3j.abi.FunctionEncoder;
  2. import org.web3j.abi.datatypes.Address;
  3. import org.web3j.abi.datatypes.Type;
  4. import org.web3j.abi.datatypes.generated.Uint256;
  5. import java.util.ArrayList;
  6. import java.util.List;
  7. public class abiUtils {
  8. public static String encoderAbi(String Address,Long amount){
  9. List<Type> inputParameters = new ArrayList<>();
  10. inputParameters.add(new Address(Address));
  11. inputParameters.add(new Uint256(amount));
  12. return FunctionEncoder.encodeConstructor(inputParameters);
  13. }
  14. }

感觉自己拯救了世界。。

发表评论

表情:
评论列表 (有 0 条评论,14人围观)

还没有评论,来说两句吧...

相关阅读

    相关 Web3与智能合约交互实战

    写在前面 在最初学习以太坊的时候,很多人都是自己创建以太坊节点后,使用geth与之交互。这种使用命令行交互的方法虽然让很多程序员感到兴奋(黑客帝国的既视感?),但不可能指

    相关 TRON费用模型

    波场费用模型 TRON网络中的资源有3种:带宽,CPU和存储。得益于波场独有的内存模型,TRON网络中的存储资源几乎是无限的。 但是过多无关紧要的交易仍然会消耗过多的带宽