Skip to content

Release for version 3.4.5

Latest
Compare
Choose a tag to compare
@luleigreat luleigreat released this 13 Jan 06:36

功能

  1. 实现以太坊布隆过滤器
  2. 新特性:BloomFilter(区块头中增加Bloom字段)
  3. 增加预编译合约:ToolsPrecompiled,包含以下接口
//验证签名
function verify(string memory payload,string memory signature,string memory publickey) returns (bool);
//公钥转base58地址
function publicToAddress(string) returns (address);
//字符串连接
function stringConcat(string[]) returns (string memory);
//eth::sha256
function eth_sha256(bytes) returns (bytes32);
//eth::ripemd160
function eth_ripemd160(bytes) returns (bytes20);
//返回当前交易哈希值
function txHash() returns (bytes32);
  1. 支持以太坊接口批量请求,批量应答,请求格式如下:
[
{
    "id": 0, "jsonrpc": "2.0", "method": "eth_getTransactionReceipt", "params": ["0x637f1bc7b60ee60aba4316e82376d46323c7df74271ec230ef2a34a4f7e5ea5f"]
},
{
    "id": 0, "jsonrpc": "2.0", "method": "eth_getTransactionReceipt", "params": ["0x637f1bc7b60ee60aba4316e82376d46323c7df74271ec230ef2a34a4f7e5ea5f"]
}
]
  1. Amendments生效时间由2周改为12小时

优化

  1. 共识优化:当出现2v2(最新共识过的区块号不同导致无法达成共识)的情况时,增加拉取最新区块投票的方式以达到共识

Bug修复

  1. chainID()在sol合约中值不正确的bug
  2. 修复eth_estimateGas有时无法正确预估gas的bug
  3. 以太坊原生交易,在call指令中转账时,转账金额需除以1e+12
  4. eth_getTransactionReceipt 返回的日志中,合约地址不应该一直是同一个,应显示正确合约地址
  5. eth_call 在模拟交易调用时,需要访问当前交易修改的缓存
  6. 表同步模块:只有配置auto_sync=1时,加载auto_sync=1的数据库表进行同步
  7. 交易共识时,设置账户Sequence:只有交易Sequence与账户Sequence相等时,才设置为交易Sequence+1