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
No Comments