Rooch's Development Progress
New features
- Implemented event page in #267 (opens in a new tab).
- Implemented corresponding APIs for #213 (opens in a new tab) RPC documentation functionality at #275 (opens in a new tab) and #299 (opens in a new tab).
- Implemented a web version of the
counter
contract in #280 (opens in a new tab). - Added an integration testing tool in #282 (opens in a new tab), for how to use it, please refer to the description in the PR.
- Implement rooch storage for storing
Transaction
,Block
and other data, movestore
implementation fromsequencer
to rooch storage, moveTransactionExecutionInfo
from rooch type to moveos type, introduceInMemoryAccumulator
and implement event accumulator root, see #287 (opens in a new tab). - Supports passing different types of parameters to the
entry
function. Supported types include:u8
,u16
,u32
,u64
,u128
,u256
,bool
,object_id
,string
,address
andvector<inner_type>
. For detailed usage, please refer to PR #307 (opens in a new tab). - Implement cross-module
private_generics
attribute checking. When a module calls another module, it needs to check the generic parameter type of the function decorated with#[private_generics]
. For details and examples, please refer to PR #298 (opens in a new tab).
Major refactoring
- Assign different addresses to
move-std
,moveos-std
, androoch-framework
modules. Using different addresses can avoid module naming conflicts and facilitate expansion. For example,moveos-std::bcs
can wrap all the methods ofmove-std::bcs
and add extension methods. This approach is also convenient for extending other built-in standard libraries or frameworks in the future, providing a good collaborative experience for ecosystem co-builders. See issue #245 (opens in a new tab) and Discord post (opens in a new tab) for a detailed discussion.- Add the code of the Move standard library
move-stdlib
in #266 (opens in a new tab), so that different libraries can generate their own genesis transactions, so as to realize the function of generating multiple genesis transactions. - Migrated
rooch-framework
frommoveos/moveos-stdlib/rooch-framework
tocrate/rooch-framework
at #270 (opens in a new tab). Migrate framework test cases frommoveos/moveos-stdlib
tocrate/rooch-framework-tests
. Introduce moveos_stdlib_builder androoch-genesis
. The examples use a native dependency of MoveosStdlib. Use0x1
formove_std
,0x2
formoveos_std
, and0x3
forrooch_framework
. The Move integration testexp
file prints transaction output status.
- Add the code of the Move standard library
- Introduced Move module bindings and refactored transaction validators in #283 (opens in a new tab). Introduce Move module bindings to facilitate calling Move functions from Rust code. In the future, we can generate bindings via the ABI.
Improvements and fixes
- In #272 (opens in a new tab) unify
next_cursor
as the cursor corresponding to the last object in the returned result. - In #276 (opens in a new tab), the verification of the
init
function at runtime is refactored, and the dependency of the verification function onSession
is removed. - Add a test case for
entry
function verification at runtime, see #269 (opens in a new tab) for details - Added CI to automatically test example projects in #291 (opens in a new tab).
- Update storage abstraction documentation, see #300 (opens in a new tab), #311 (opens in a new tab) and #314 (opens in a new tab) for details.
- Optimize CI tests and clean up unused framework modules.
Rooch Community Dev Meeting
- Arrange the implementation of
verifier
related functions in Roochv0.2
. - Discusses account creation pre-execution functions and address mapping schemes.
- Discusses when the RPC
View
type is required. - Discusses
MoveState
andETH proxy
. - Share introducing Move bindings in Rust.
- Conference recording (opens in a new tab)