Releases: starcoinorg/starcoin
Releases · starcoinorg/starcoin
V0.7.1
Main feature and update
- [Stdlib|VM-runtime] Fix typos of VM.
- [stress-test] Add stress test tool based on txn factory.
- [jsonRPC] Rename NodeInfo now to now_seconds to avoid misuse.
- [onchainconfig] Add on chain config test by Dao.
- Cleanup event serialize.
- Bumped some dependencies crate.
中文说明
- [Stdlib|VM-runtime]修正VM的一些错别字。
- [stress-test] 增加基于 txn factory 的压力测试工具。
- [jsonRPC] 重命名NodeInfo now为now_seconds,避免误用。
- [onchainconfig] 增加on chain config测试。
- 清理事件序列化。
- 升级了一些依赖包。
V0.7.0
Main feature and update
- [break] Enhancement Stdlib events handle, and account deposit handle.
- Refactor json-rpc, Mutex RpcClientInner instead of RefCell, and bump jsonrpc to 15.1.0.
- [break] Refactor timeService and related module references to time-based changes, modify stdlib timestamp to millisecond.
- [break] Further refinement of Stdlib Spec verify, Account, ConsensusConfig, Authenticator, Dao, etc.
- Refactor consensus, implements of new algorithms of cryptonight, update consensus_config for modify strategy.
- [break] Upgrade Move-vm and do some clean.
- Implement new network rpc api and BlockAccumulatorSyncTask.
- Enhancement and optimize accumulator, migration InMemoryAccumulator from libra, and related storage refactor.
- Enhancement association_account use multi key address and account support multi key.
- Refactor miner, modify miner client remove consensus strategy.
- [break] Remove scaling factor, improve dao related features and events, modify Config script and TransactionTimeoutConfig.
- [break] Update genesis for CNR config and fix hash rate info.
- [break] Refactor Stdlib error code.
- Refactor chain network, fix GetBlockStateByHash error, add test apply without execute for chain, and add verify uncle test_case.
- Optimize stest error message report, modify node start error handle, add tool to explain move abort error code.
- Fix a PoW difficulty calculate window bug.
- Each epoch dynamically adjusts the block gas limit of the next epoch according to the average value of block gas_used of the previous epoch and the block target time.
中文说明
- [break] 改进了Stdlib事件相关的处理,和 account deposit处理。
- Refactor json-rpc,用Mutex RpcClientInner代替RefCell,并将jsonrpc提升到15.1.0。
- [break] Refactor timeService和相关模块引用基于时间的更新,修改stdlib时间戳为毫秒。
- [break] 进一步完善Stdlib Spec verify、Account、ConsensusConfig、Authenticator、Dao等模块。
- 重构共识,实现cryptonight的新算法,为修改策略更新共识配置。
- [break]升级Move-vm,做一些清理。
- 实现新的network rpc api和BlockAccumulatorSyncTask。
- 增强和优化累加器,从Libra移植InMemoryAccumulator,以及相关存储的重构。
- 增强association_account使用多密钥地址和账户支持多密钥。
- 重构miner模块,修改miner客户端删除共识策略。
- [break]删除scaling factor,改进dao相关功能和事件,修改Config脚本和TransactionTimeoutConfig。
- [break] 更新CNR共识的genesis配置,修正hash rate信息。
- [break] 重构Stdlib错误代码。
- 重构chain和network模块,修复GetBlockStateByHash错误,为chain增加测试非执行的apply用例,并增加验证叔块的测试用例。
- 优化stest模块错误信息报告,修改节点启动错误处理,增加工具解释移动中止错误代码。
- 修复了 PoW 难度计算窗口的一个 bug。
- 每个 epoch 根据上个 epoch 的 block gas_used 平均值以及出块目标时间,动态调整下个 epoch 的 block gas limit。
V0.5.1
Main feature and update
- Refactor consensus config, optimize difficulty codes for test.
- [break] Refactor Stdlib TokenBox to TokenLockPool,add pre_mine and time locked genesis init,update scaling_factor to
10^9, Timestamp allow equals conditional judgement. - Implement STCUnit/TokenUnit and TokenValue.
- Upgrade move_vm to the September 27th version, update of libra-related break functions.
- Implement on_chain_config by Dao, and voting-related functions.
- [break] Add hash field to block_body.
- Repackage of U256 U512 to uint module and implementation of conversion methods.
- Refactor sync actor to ActorService, remove NetworkService generic from SyncActor.
- Added unit tests of network, consensus, miner, chain module.
中文说明
- 重构共识配置,优化difficulty代码。
- [break] 重构Stdlib的TokenBox到TokenLockPool,在genesis初始化时增加了预挖、时间锁功能,更新scaling_factor到
10^9,时间戳允许等于条件判断。 - 实现STCUnit/TokenUnit和TokenValue。
- 将move_vm升级到9月27日的版本,同步更新libra相关break功能。
- 实现Dao的on_chain_config,以及投票相关功能。
- [break]在block_body中增加哈希字段。
- 将U256 U512重新封装为uint模块,并实现相关转换方法。
- 将同步actor重构为ActorService,删除SyncActor中的NetworkService泛型。
- 增加了network, consensus, miner, chain模块的单元测试。
V0.5.0
Main feature and update
- Add scalable token for Stdlib, add test to ensure generated files are up to date.
- Implements a new service registry, and refactor module of MinerService, TxPoolService, ChainNotifyHandlerService, network-rpc etc.
- [break] Refactor block header fields, remove gas limit and add chain_id field and modify public_key field.
- Implements readonly function call of VM.
- Further refinement test case of block sync, state sync, and uncle check.
- [break] Update accumulator field of block_info, and related changes to the affected modules.
- [break] Arrange prologue/epilogue function parameter of block.
- Add a new hash consensus by keccak algorithms.
中文说明
- 为Stdlib添加可扩展的Token,增加了测试用例以确保生成的文件是最新的。
- 实现新的Service Registry框架,重构MinerService、TxPoolService、ChainNotifyHandlerService、network-rpc等模块。
- [break] 重构区块头字段,去掉gas_limit并增加chain_id字段,修改public_key字段的展示。
- 实现VM的readonly function的调用。
- 进一步完善区块同步、状态同步、叔块检查的测试用例。
- [break] 更新block_info的累加器字段,并对受影响的模块进行相关修改。
- [break] 重构block的prologue/epilogue函数参数。
- 新增一种keccak Hash算法的共识的实现。
v0.4.6
Main feature and update
- Support user-defined custom chain, renamed chain config to genesis config.
- Add generate genesis config command, add generate transaction for test.
- Support multiple Stdlib versions, implements a token gov module for voting governance mechanism.
- Refactor UncleActor to CreateBlockTemplateActor,and remove ChainAsyncService from miner.
- Add compatibility check in verify_transaction.
- Enhance network rpc, analog network synchronization RPC calls.
- Refactor uncle block verify, enhance header verify, and add typical test scenarios.
- Additional test cases of jellyfish_tree.
中文说明
- 支持用户自定义Chain,将chain配置改为genesis配置。
- 增加生成genesis config命令,为测试模块增加生成transaction功能。
- 支持多个Stdlib版本,实现了token gov投票治理机制。
- 将UncleActor重构为CreateBlockTemplateActor,并将ChainAsyncService从miner中移除。
- 在verify_transaction中增加兼容性检查。
- 增强网络RPC,模拟网络同步RPC调用。
- 重构叔叔块验证,增强头验证,增加典型测试场景。
- 增加了jellyfish_tree模块的测试用例。
V0.4.5
Main feature and update
- Refactor uncle block and open block, create_block_template.
- Benchmark add chain test, includes block query and apply functions.
- Stdlib fix module name order, and adds Spec validation of Block, Account, Token, etc.
- Implement service registry, all services are started by default, may specify that some services should not be started.
- Command Line Tools add a generator command for generate config and data.
中文说明
- 重构叔块、Open block,create_block_template模块。
- 基准测试增加了chain相关测试,包括块块查询和apply功能。
- Stdlib修正模块名称顺序,并增加Block、Account、Token等Spec验证。
- 实现服务注册器功能,默认启动所有服务,可定制部分服务不启动。
- 命令行工具增加generator命令,用于生成配置和block数据。
v0.4.3
v0.4.2
Main feature and update
- Enhance the Account command.
- Enhance the State command and support ResourceView.
- Add the command epoch_info_by_number to support querying EpochInfo by block number.
- Fix the bug of block time verification.
- Fix the bug of block stop after block produce error.
- Refactor the logic of initializing Storage via Genesis.
- Refactor the error handling during Node startup.
中文说明
- 增强 Account 命令。
- 增强 State 命令,支持 ResourceView。
- 增加 epoch_info_by_number 命令,支持根据区块查询 EpochInfo。
- 修复区块时间校验的 bug。
- 修复出块错误后出块停止的 bug。
- 重构通过 Genesis 初始化 Storage 的逻辑。
- 重构 Node 启动过程中的错误处理机制。
Main dependency bump
- move-vm bump to fb0724ca39edc9afc8c697d1183d562880433d8e (Aug 11) .
v0.4.1
Main feature and update
- Refactor and stabilize the basic data types, Block, Transaction, etc.
- Add ChainID in the transaction to distinguish the transactions of different chain networks.
- Add Gas TokenCode in transactions, in preparation for supporting any Token as Gas in the future.
- Improve the expiration mechanism of transactions.
- Rebuild and stabilize Stdlib.
- Refactor VM and VM error handling.
- Fix the Token Type Determination bug in Token Module, and use TokenCode to mark the Token Type, such as: 0x1::STC::STC.
- Clean up and stabilize P2P network messages.
- Restructure and implement Fast Sync.
- Fix some bugs in the uncle's block.
- Refactor the CLI, rename the wallet command to account, and implement the off-chain data storage and query of account.
- Introduce Move prover, prepare for Stdlib to implement formal proof.
- Improve the unit test coverage of Stdlib to 80%.
- Refactoring and improving the integration testing framework.
- Refactor and stabilize node configuration.
- Refactor block rewards, Epoch's tuning algorithm, and STC's distribution strategy.
中文说明
- 重构以及稳定化基本数据类型,Block,Transaction 等。
- 交易中增加 ChainID 用于区分不同网络的交易。
- 交易中增加 Gas TokenCode, 为未来支持任意 Token 作为 Gas 做准备。
- 完善交易的过期机制。
- 重构以及稳定化 Stdlib。
- 重构 VM 以及 VM 的错误处理。
- 修复 Token 合约的 Token 类型判断 bug,统一使用 TokenCode 来标记 Token 类型,比如: 0x1::STC::STC。
- 清理以及稳定化 P2P 网络消息。
- 重构以及完善 Fast Sync。
- 修复叔块的若干 Bug。
- 重构 cli,将 wallet 命令重命名为 account,实现了 account 的 off-chain 数据存储和检索。
- 引入 Move prover,为 Stdlib 实现形式化证明做准备。
- 提升 Stdlib 单元测试覆盖率到 80%。
- 重构以及完善集成测试框架。
- 重构以及稳定化节点配置。
- 重构了区块奖励, Epoch 的调整算法,以及 STC 的发行策略。
Main dependency bump
- move-vm bump to 9eadc565466d3db3a2b6b4f38c3fea78dcddc372 (July 29) .
- rust tool chain bump to 1.45.0.
For a full rundown of the changes please consult the Starcoin 0.4 release milestone
Release v0.3.1
Main feature and update
- Epoch and Uncle Block mechanism are introduced, the difficulty of PoW can be dynamically adjusted according to the Uncle Block rate.
- The
Package
transaction type is introduced, which supports batch deployment of multiple Modules with initialization scripts. - Stabilization of Token module and issuance mechanism, the value of Token is changed from u64 to u128, which can support larger total amount and higher accuracy.
- Implementation of Transaction fee distribution contracts.
- Stdlib added SortedLinkedList, Math, BitOperators modules.
- The BlockReword contract was refactored to accommodate Epoch and Uncle Block mechanisms.
- Module upgrade mechanism is provided, and developers can customize the strategy of contract upgrade. Module upgrade compatibility check is implemented to ensure compatibility with the old version when upgrading.
- Refactor Genesis to implement Genesis transaction via Package transaction. Simplify Genesis Account, retaining only 0x1 Genesis account.
- Introduced the network rpc framework to simplify the implementation of the rpc interface on p2p networks.
- Introduce Move's coverage tool to count stdlib's test coverage.
- Simplify Node configuration and unify command line parameter format.
中文说明
- 引入 Epoch 以及叔块机制,PoW 出块难度可以根据叔块率来动态调整。
- 引入
Package
交易类型,支持批量部署多个 Module 以及附带初始化脚本。 - Token 模块以及发行机制的稳定化,Token 的值从 u64 改为 u128,可以支持更大的总量以及更高的精度。
- 实现了 Transaction fee 的分发合约。
- Stdlib 增加了 SortedLinkedList,Math,BitOperators 模块。
- 重构了 BlockReword 合约,以适应 Epoch 以及叔块机制。
- 提供了 Module 升级机制,开发者可以自定义合约升级的策略。实现了升级 Module 的兼容性检查,保证升级时和旧的版本兼容。
- 重构 Genesis,通过 Package 交易实现 Genesis 交易。简化 Genesis Account,只保留 0x1 一个 Genesis account。
- 引入 network rpc 框架,简化 p2p 网络上的 rpc 接口实现。
- 引入 Move 的覆盖率工具,统计 stdlib 的测试覆盖率。
- 简化 Node 配置以及统一命令行参数格式。
Main dependency bump
- move-vm bump to 821ac69a5e3ff3e323601c355d8de42f957d9c26 (July 14) .
- libp2p bump to 0.22.
- rust tool chain bump to 1.44.1.
For a full rundown of the changes please consult the Starcoin 0.3 release milestone