/
Starcoin-Framework 2024升级指南

Starcoin-Framework 2024升级指南

一、升级概述

本文详细说明从Starcoin-Framework 1.0升级到2.0版本的完整流程。

二、主要升级步骤

1. Framework代码升级

将Framework从1.0版本升级至2.0版本,主要通过在新Genesis上执行applyset实现数据同步:

  • Force Deploy流程优化

    • 实现特定条件下的writeset交易支持 @hui jiao

    • 共识参数读取

    • 共识参数升级及相关函数调用 @Bob

2. 资产映射实现

分两期进行资产迁移:

第一期:Token资产映射

  1. 用户数据获取 @YSG

  2. Token信息读取 (0x1::Account::Balance<Type>) @YSG

    • Token注册者映射

      • TokenInfo

      • MintCapability

      • BurnCapability

    • Token持有者映射 (0x1::Token::Token<Type>)

  3. 信息写入实现 @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系统

 

三、Token 映射

实际步骤

  1. Starcoin 1.0 Token映射前准备工作:全面审查当前Starcoin 1.0 STC,其分布状态主要分布位置包括:

    • 国库(0x1/Treasury::balance)

    • 用户钱包(<useraddress>/0x1/Account/Balance/Token/STC)

    • DeFi生态系统(Swap、Bridge、借贷等项目)

  2. 映射执行流程:

    • 建立新的数据结构(0x1::asset_mapping::FundationPool

    • 当分配程序发起分配时,调用asset_mapping::map_fungible_asset从该结构中分配Token

    • 确保准确分配到最终用户和智能合约

  3. 初始池子设计说明:

    • 池子容量等同于Starcoin 1.0的STC总铸造量

    • Genesis阶段将Token存入0x1::asset_mapping待分配映射池

    • 通过映射函数实现最终分配

这种结构化设计确保了Token迁移过程的透明性和准确性,同时为后续的映射操作提供了清晰的执行路径。

 

映射表

源路径

目标路径

描述

源路径

目标路径

描述

0x1/Treasury::balance

0x1/treasury::balance

国库的额度

 

 

Related content

Starcoin-Framework 升级
Starcoin-Framework 升级
More like this
2024年初攻击事件处理方案
2024年初攻击事件处理方案
Read with this
starcoin-framework v12讨论
starcoin-framework v12讨论
More like this
Starcoin-framewok绕过二阶段提交强制升级方案
Starcoin-framewok绕过二阶段提交强制升级方案
Read with this
starcoin代码概要
starcoin代码概要
More like this
v1.12
v1.12
More like this