升级概述
本文详细说明从Starcoin-Framework 1.0升级到2.0版本的完整流程。
主要升级步骤
1. Framework代码升级
将Framework从1.0版本升级至2.0版本,主要通过在新Genesis上执行applyset实现数据同步:
2. 资产映射实现
分两期进行资产迁移:
第一期:Token资产映射
用户数据获取 YSG
Token信息读取 (0x1::Account::Balance<Type>) YSG
Token注册者映射
TokenInfo
MintCapability
BurnCapability
Token持有者映射 (0x1::Token::Token<Type>)
信息写入实现 Bob
fn migration_legacy_token_info_to_register( address: AccountAddress, token_struct_tag: StructTag ) -> Changeset { ... } fn migration_legacy_token_to_fungible_asset( address: AccountAddress, token_struct_tag: StructTag ) -> Changeset { ... } // upgrade ... // apply changeset ... let change_set = migration_legacy_token_info_to_register(); storage.apply(change_set);
第二期:NFT资产映射
待实现
3. 生态项目适配
后续需要完成的项目改造:
Swap系统
Bridge系统