本文主要讨论2024年升级starcoin-framework的过程
包含以下步骤
Framework 代码升级,从1.0升级到2.0,主要的工作在新的Genesis上发送一些applyset以达到数据同步的目的
资产映射,将旧资产映射为新资产,包含的资产类型为Token资产,NFT资产两类,一期先映射Token资产,二期再映射NFT资产,主要包含信息读取和信息写入两个步骤
找到所有的用户 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);
生态项目改造(TODO)
Swap
Bridge