在波場的trc20合約交互中 都需要進行傳遞 parameter。 但是官方只提供了 js的。全網上也有 python 唯獨沒找到java的。
經過的艱苦的尋找 終於找到了 在web3j中提供的這樣的方法。
首先項目中需要引入
<dependency> <groupId>org.web3j</groupId> <artifactId>core</artifactId> <version>3.2.0</version> </dependency>
下面是代碼
我主要是用來對接轉賬trc20的usdt。所以只寫了轉賬的工具方法,有其他交互需求大家可以一起研究。
import org.web3j.abi.FunctionEncoder; import org.web3j.abi.datatypes.Address; import org.web3j.abi.datatypes.Type; import org.web3j.abi.datatypes.generated.Uint256; import java.util.ArrayList; import java.util.List; public class abiUtils { public static String encoderAbi(String Address,Long amount){ List<Type> inputParameters = new ArrayList<>(); inputParameters.add(new Address(Address)); inputParameters.add(new Uint256(amount)); return FunctionEncoder.encodeConstructor(inputParameters); } }
感覺自己拯救了世界。。