Week3-7.18

Day1 - Java-solidity数据类型转换

java-conflux-sdk继承于web3j. 当需要做与合约有关的操作时, 需要将java中的数据类型转为solidity合约中的数据类型. 这里的数据类型的对应关系可以查看: https://github.com/web3j/web3j/blob/master/abi/src/main/java/org/web3j/abi/datatypes/AbiTypes.java#:~:text=public%20static%20Class%3C%3F%20extends%20Type%3E%20getType(String%20type%2C%20boolean%20primitives)

Day2 - Java-conflux-sdk hexstring与byte[]的转换

java-conflux-sdk中在调用call方法时会涉及到hexstring和byte[]的转换。 web3j为我们提供了一个方便的Numeric类来帮助我们实现转换功能。具体的可见https://github.com/web3j/web3j/blob/master/utils/src/main/java/org/web3j/utils/Numeric.java#:~:text=public%20final%20class%20Numeric

示例代码:

        String hexstring = "xxxxxx"; //hexstring
        byte[] test = Numeric.hexStringToByteArray(hexstring);
        
        String tmp = Numeric.toHexString(test);

Day3 - account.call与client.call的区别

java-conflux-sdk中在通过client调用call方法去读取合约的某个方法,并返回合约的返回值时不会改变合约状态,账户的nonce不会增加。在通过account.call方法去调用合约时,会带来合约状态的改变。

Day4 - 调用sdk时的rpc_url

在用sdk创建client时,需要用到rpc_url。目前rpc_url的汇总如下:

URL 场景 备注
http://127.0.0.1:12539 本地节点 port在toml文件里可以修改
https://test.confluxrpc.com 香港测试网节点
https://main.confluxrpc.com 香港主网节点
https://test.confluxrpc.org 美东测试网节点
https://main.confluxrpc.org 美东主网节点

Day5 - pos节点的注册

conflux目前支持了pos共识,调用pos内置合约需要将本地节点注册为pos节点。java-conflux-sdk提供了相应的内置合约接口去调用内置合约中的注册方法,只需要用户提供相应的raw data. raw data的获取可见:

https://wiki.conflux123.xyz/link/32#bkmrk-%E6%9C%89%E4%B8%80%E4%B8%AA%E6%AD%A3%E5%9C%A8%E8%BF%90%E8%A1%8C%E7%9A%84pos%E6%9C%AC%E5%9C%B0%E8%8A%82%E7%82%B9-%E5%9C%A8%E6%9C%AC%E5%9C%B0%E8%B0%83


Revision #18
Created 18 July 2022 01:22:43 by Pana
Updated 22 July 2022 07:34:11 by Xianqi