Skip to content

Releases: starcoinorg/starcoin

V0.7.1

03 Nov 14:58
16e1509
Compare
Choose a tag to compare

Main feature and update

  1. [Stdlib|VM-runtime] Fix typos of VM.
  2. [stress-test] Add stress test tool based on txn factory.
  3. [jsonRPC] Rename NodeInfo now to now_seconds to avoid misuse.
  4. [onchainconfig] Add on chain config test by Dao.
  5. Cleanup event serialize.
  6. Bumped some dependencies crate.

中文说明

  1. [Stdlib|VM-runtime]修正VM的一些错别字。
  2. [stress-test] 增加基于 txn factory 的压力测试工具。
  3. [jsonRPC] 重命名NodeInfo now为now_seconds,避免误用。
  4. [onchainconfig] 增加on chain config测试。
  5. 清理事件序列化。
  6. 升级了一些依赖包。

V0.7.0

27 Oct 05:20
2d7f9a8
Compare
Choose a tag to compare

Main feature and update

  1. [break] Enhancement Stdlib events handle, and account deposit handle.
  2. Refactor json-rpc, Mutex RpcClientInner instead of RefCell, and bump jsonrpc to 15.1.0.
  3. [break] Refactor timeService and related module references to time-based changes, modify stdlib timestamp to millisecond.
  4. [break] Further refinement of Stdlib Spec verify, Account, ConsensusConfig, Authenticator, Dao, etc.
  5. Refactor consensus, implements of new algorithms of cryptonight, update consensus_config for modify strategy.
  6. [break] Upgrade Move-vm and do some clean.
  7. Implement new network rpc api and BlockAccumulatorSyncTask.
  8. Enhancement and optimize accumulator, migration InMemoryAccumulator from libra, and related storage refactor.
  9. Enhancement association_account use multi key address and account support multi key.
  10. Refactor miner, modify miner client remove consensus strategy.
  11. [break] Remove scaling factor, improve dao related features and events, modify Config script and TransactionTimeoutConfig.
  12. [break] Update genesis for CNR config and fix hash rate info.
  13. [break] Refactor Stdlib error code.
  14. Refactor chain network, fix GetBlockStateByHash error, add test apply without execute for chain, and add verify uncle test_case.
  15. Optimize stest error message report, modify node start error handle, add tool to explain move abort error code.
  16. Fix a PoW difficulty calculate window bug.
  17. 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.

中文说明

  1. [break] 改进了Stdlib事件相关的处理,和 account deposit处理。
  2. Refactor json-rpc,用Mutex RpcClientInner代替RefCell,并将jsonrpc提升到15.1.0。
  3. [break] Refactor timeService和相关模块引用基于时间的更新,修改stdlib时间戳为毫秒。
  4. [break] 进一步完善Stdlib Spec verify、Account、ConsensusConfig、Authenticator、Dao等模块。
  5. 重构共识,实现cryptonight的新算法,为修改策略更新共识配置。
  6. [break]升级Move-vm,做一些清理。
  7. 实现新的network rpc api和BlockAccumulatorSyncTask。
  8. 增强和优化累加器,从Libra移植InMemoryAccumulator,以及相关存储的重构。
  9. 增强association_account使用多密钥地址和账户支持多密钥。
  10. 重构miner模块,修改miner客户端删除共识策略。
  11. [break]删除scaling factor,改进dao相关功能和事件,修改Config脚本和TransactionTimeoutConfig。
  12. [break] 更新CNR共识的genesis配置,修正hash rate信息。
  13. [break] 重构Stdlib错误代码。
  14. 重构chain和network模块,修复GetBlockStateByHash错误,为chain增加测试非执行的apply用例,并增加验证叔块的测试用例。
  15. 优化stest模块错误信息报告,修改节点启动错误处理,增加工具解释移动中止错误代码。
  16. 修复了 PoW 难度计算窗口的一个 bug。
  17. 每个 epoch 根据上个 epoch 的 block gas_used 平均值以及出块目标时间,动态调整下个 epoch 的 block gas limit。

V0.5.1

29 Sep 05:22
1b93ad1
Compare
Choose a tag to compare

Main feature and update

  1. Refactor consensus config, optimize difficulty codes for test.
  2. [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.
  3. Implement STCUnit/TokenUnit and TokenValue.
  4. Upgrade move_vm to the September 27th version, update of libra-related break functions.
  5. Implement on_chain_config by Dao, and voting-related functions.
  6. [break] Add hash field to block_body.
  7. Repackage of U256 U512 to uint module and implementation of conversion methods.
  8. Refactor sync actor to ActorService, remove NetworkService generic from SyncActor.
  9. Added unit tests of network, consensus, miner, chain module.

中文说明

  1. 重构共识配置,优化difficulty代码。
  2. [break] 重构Stdlib的TokenBox到TokenLockPool,在genesis初始化时增加了预挖、时间锁功能,更新scaling_factor到
    10^9,时间戳允许等于条件判断。
  3. 实现STCUnit/TokenUnit和TokenValue。
  4. 将move_vm升级到9月27日的版本,同步更新libra相关break功能。
  5. 实现Dao的on_chain_config,以及投票相关功能。
  6. [break]在block_body中增加哈希字段。
  7. 将U256 U512重新封装为uint模块,并实现相关转换方法。
  8. 将同步actor重构为ActorService,删除SyncActor中的NetworkService泛型。
  9. 增加了network, consensus, miner, chain模块的单元测试。

V0.5.0

20 Sep 14:30
694ef63
Compare
Choose a tag to compare

Main feature and update

  1. Add scalable token for Stdlib, add test to ensure generated files are up to date.
  2. Implements a new service registry, and refactor module of MinerService, TxPoolService, ChainNotifyHandlerService, network-rpc etc.
  3. [break] Refactor block header fields, remove gas limit and add chain_id field and modify public_key field.
  4. Implements readonly function call of VM.
  5. Further refinement test case of block sync, state sync, and uncle check.
  6. [break] Update accumulator field of block_info, and related changes to the affected modules.
  7. [break] Arrange prologue/epilogue function parameter of block.
  8. Add a new hash consensus by keccak algorithms.

中文说明

  1. 为Stdlib添加可扩展的Token,增加了测试用例以确保生成的文件是最新的。
  2. 实现新的Service Registry框架,重构MinerService、TxPoolService、ChainNotifyHandlerService、network-rpc等模块。
  3. [break] 重构区块头字段,去掉gas_limit并增加chain_id字段,修改public_key字段的展示。
  4. 实现VM的readonly function的调用。
  5. 进一步完善区块同步、状态同步、叔块检查的测试用例。
  6. [break] 更新block_info的累加器字段,并对受影响的模块进行相关修改。
  7. [break] 重构block的prologue/epilogue函数参数。
  8. 新增一种keccak Hash算法的共识的实现。

v0.4.6

04 Sep 13:17
7ff9c15
Compare
Choose a tag to compare

Main feature and update

  1. Support user-defined custom chain, renamed chain config to genesis config.
  2. Add generate genesis config command, add generate transaction for test.
  3. Support multiple Stdlib versions, implements a token gov module for voting governance mechanism.
  4. Refactor UncleActor to CreateBlockTemplateActor,and remove ChainAsyncService from miner.
  5. Add compatibility check in verify_transaction.
  6. Enhance network rpc, analog network synchronization RPC calls.
  7. Refactor uncle block verify, enhance header verify, and add typical test scenarios.
  8. Additional test cases of jellyfish_tree.

中文说明

  1. 支持用户自定义Chain,将chain配置改为genesis配置。
  2. 增加生成genesis config命令,为测试模块增加生成transaction功能。
  3. 支持多个Stdlib版本,实现了token gov投票治理机制。
  4. 将UncleActor重构为CreateBlockTemplateActor,并将ChainAsyncService从miner中移除。
  5. 在verify_transaction中增加兼容性检查。
  6. 增强网络RPC,模拟网络同步RPC调用。
  7. 重构叔叔块验证,增强头验证,增加典型测试场景。
  8. 增加了jellyfish_tree模块的测试用例。

V0.4.5

28 Aug 09:42
d8bc42a
Compare
Choose a tag to compare

Main feature and update

  1. Refactor uncle block and open block, create_block_template.
  2. Benchmark add chain test, includes block query and apply functions.
  3. Stdlib fix module name order, and adds Spec validation of Block, Account, Token, etc.
  4. Implement service registry, all services are started by default, may specify that some services should not be started.
  5. Command Line Tools add a generator command for generate config and data.

中文说明

  1. 重构叔块、Open block,create_block_template模块。
  2. 基准测试增加了chain相关测试,包括块块查询和apply功能。
  3. Stdlib修正模块名称顺序,并增加Block、Account、Token等Spec验证。
  4. 实现服务注册器功能,默认启动所有服务,可定制部分服务不启动。
  5. 命令行工具增加generator命令,用于生成配置和block数据。

v0.4.3

13 Aug 02:20
49db394
Compare
Choose a tag to compare

Main feature and update

  1. Fix the bug of fast sync mode.
  2. Fix the bug of finding common ancestor block during sync, add filtering condition based on difficulty.

中文说明

  1. 修复快速同步模式的 bug.
  2. 修复同步过程中查找共同祖先的 bug,增加根据难度过滤的条件。

v0.4.2

11 Aug 12:36
3b03565
Compare
Choose a tag to compare

Main feature and update

  1. Enhance the Account command.
  2. Enhance the State command and support ResourceView.
  3. Add the command epoch_info_by_number to support querying EpochInfo by block number.
  4. Fix the bug of block time verification.
  5. Fix the bug of block stop after block produce error.
  6. Refactor the logic of initializing Storage via Genesis.
  7. Refactor the error handling during Node startup.

中文说明

  1. 增强 Account 命令。
  2. 增强 State 命令,支持 ResourceView。
  3. 增加 epoch_info_by_number 命令,支持根据区块查询 EpochInfo。
  4. 修复区块时间校验的 bug。
  5. 修复出块错误后出块停止的 bug。
  6. 重构通过 Genesis 初始化 Storage 的逻辑。
  7. 重构 Node 启动过程中的错误处理机制。

Main dependency bump

  1. move-vm bump to fb0724ca39edc9afc8c697d1183d562880433d8e (Aug 11) .

v0.4.1

07 Aug 11:59
08fe1ff
Compare
Choose a tag to compare

Main feature and update

  1. Refactor and stabilize the basic data types, Block, Transaction, etc.
  2. Add ChainID in the transaction to distinguish the transactions of different chain networks.
  3. Add Gas TokenCode in transactions, in preparation for supporting any Token as Gas in the future.
  4. Improve the expiration mechanism of transactions.
  5. Rebuild and stabilize Stdlib.
  6. Refactor VM and VM error handling.
  7. Fix the Token Type Determination bug in Token Module, and use TokenCode to mark the Token Type, such as: 0x1::STC::STC.
  8. Clean up and stabilize P2P network messages.
  9. Restructure and implement Fast Sync.
  10. Fix some bugs in the uncle's block.
  11. Refactor the CLI, rename the wallet command to account, and implement the off-chain data storage and query of account.
  12. Introduce Move prover, prepare for Stdlib to implement formal proof.
  13. Improve the unit test coverage of Stdlib to 80%.
  14. Refactoring and improving the integration testing framework.
  15. Refactor and stabilize node configuration.
  16. Refactor block rewards, Epoch's tuning algorithm, and STC's distribution strategy.

中文说明

  1. 重构以及稳定化基本数据类型,Block,Transaction 等。
  2. 交易中增加 ChainID 用于区分不同网络的交易。
  3. 交易中增加 Gas TokenCode, 为未来支持任意 Token 作为 Gas 做准备。
  4. 完善交易的过期机制。
  5. 重构以及稳定化 Stdlib。
  6. 重构 VM 以及 VM 的错误处理。
  7. 修复 Token 合约的 Token 类型判断 bug,统一使用 TokenCode 来标记 Token 类型,比如: 0x1::STC::STC。
  8. 清理以及稳定化 P2P 网络消息。
  9. 重构以及完善 Fast Sync。
  10. 修复叔块的若干 Bug。
  11. 重构 cli,将 wallet 命令重命名为 account,实现了 account 的 off-chain 数据存储和检索。
  12. 引入 Move prover,为 Stdlib 实现形式化证明做准备。
  13. 提升 Stdlib 单元测试覆盖率到 80%。
  14. 重构以及完善集成测试框架。
  15. 重构以及稳定化节点配置。
  16. 重构了区块奖励, Epoch 的调整算法,以及 STC 的发行策略。

Main dependency bump

  1. move-vm bump to 9eadc565466d3db3a2b6b4f38c3fea78dcddc372 (July 29) .
  2. 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

21 Jul 12:11
Compare
Choose a tag to compare
Release v0.3.1 Pre-release
Pre-release

Main feature and update

  1. Epoch and Uncle Block mechanism are introduced, the difficulty of PoW can be dynamically adjusted according to the Uncle Block rate.
  2. The Package transaction type is introduced, which supports batch deployment of multiple Modules with initialization scripts.
  3. 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.
  4. Implementation of Transaction fee distribution contracts.
  5. Stdlib added SortedLinkedList, Math, BitOperators modules.
  6. The BlockReword contract was refactored to accommodate Epoch and Uncle Block mechanisms.
  7. 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.
  8. Refactor Genesis to implement Genesis transaction via Package transaction. Simplify Genesis Account, retaining only 0x1 Genesis account.
  9. Introduced the network rpc framework to simplify the implementation of the rpc interface on p2p networks.
  10. Introduce Move's coverage tool to count stdlib's test coverage.
  11. Simplify Node configuration and unify command line parameter format.

中文说明

  1. 引入 Epoch 以及叔块机制,PoW 出块难度可以根据叔块率来动态调整。
  2. 引入 Package 交易类型,支持批量部署多个 Module 以及附带初始化脚本。
  3. Token 模块以及发行机制的稳定化,Token 的值从 u64 改为 u128,可以支持更大的总量以及更高的精度。
  4. 实现了 Transaction fee 的分发合约。
  5. Stdlib 增加了 SortedLinkedList,Math,BitOperators 模块。
  6. 重构了 BlockReword 合约,以适应 Epoch 以及叔块机制。
  7. 提供了 Module 升级机制,开发者可以自定义合约升级的策略。实现了升级 Module 的兼容性检查,保证升级时和旧的版本兼容。
  8. 重构 Genesis,通过 Package 交易实现 Genesis 交易。简化 Genesis Account,只保留 0x1 一个 Genesis account。
  9. 引入 network rpc 框架,简化 p2p 网络上的 rpc 接口实现。
  10. 引入 Move 的覆盖率工具,统计 stdlib 的测试覆盖率。
  11. 简化 Node 配置以及统一命令行参数格式。

Main dependency bump

  1. move-vm bump to 821ac69a5e3ff3e323601c355d8de42f957d9c26 (July 14) .
  2. libp2p bump to 0.22.
  3. rust tool chain bump to 1.44.1.

For a full rundown of the changes please consult the Starcoin 0.3 release milestone