MAPO Developer Docs
LearnDevelopRunWhitePaperBRC-201
繁體中文
繁體中文
  • 概述
  • 學習
    • 關於 MAP 協議
      • 背景
      • 介紹 MAP 協議
      • MAP 協議的發展歷程
    • 與其他跨鏈模型進行比較
      • MAP 協議與Cosmos& Pokadot
      • MAP vs. 其他無中繼鏈的跨鏈解決方案
    • 技術機制
      • MAP協議'的技術機制
      • 三層結構
      • MAP協議層
      • MAP中繼鏈
        • 概念
        • 與所有鏈的同構性
        • 驗證& 維護網絡
      • MAPO服務(MOS)層
      • MAPO應用層
      • ZK 支持下的輕節點
    • 燃氣費收費模式
    • DAO
    • MAP協議的構建
      • 開發者
      • 驗證者
      • 維護者
      • 信使
      • 流動資金提供者
      • 終端用戶
    • Tokenomics
    • 購買$MAP
  • 開發
    • MAP Relay Chain
      • 入門
        • 構建
        • 製作私有鏈
        • 如何投票
        • 如何取出質押
        • 集成到交易所
        • EVM 兼容鏈接入MAP 中繼鏈
      • 共識
        • 概述
        • Proof-of-Stake
        • 驗證器
          • 驗證器
          • 鎖定的MAP
        • 選舉
        • 獎勵
        • 聚合印章
      • 合約
        • 預編譯合約
        • 創世紀合約
          • ABI
            • AccountsABI
            • ElectionABI
            • EpochRewardsABI
            • LockedGoldABI
            • ValidatorsABI
          • Deploy
      • Marker
        • Genesis
        • 驗證器
        • Vote
        • ContractOwner
        • Common
    • 輕型客戶端
      • 基於輕型客戶端的驗證
      • MAPO輕型客戶端
        • EVM鏈
        • Near
      • 輕客戶端
        • 客戶端管理器
        • BNB 鏈
        • NEAR 協議
        • Polygon(Matic)
        • Ethereum 2.0
        • 維護者
    • MOS 全鏈服務
      • MOS消息指南
        • How It Works
      • MOS 指南
        • 運行原理
        • 如何使用
          • 在Evm鏈的方法
          • 在NEAR協議上
        • 中繼鏈合約
        • EVM鏈合約
        • NEAR 協議合約
      • 信使
      • API
    • OmniChain實例
      • Omni App
      • OmniDictionary
    • API & SDK
      • Butter SDK
      • Atlas JSON RPC
      • Atlas Consensus API
      • MAP掃描API
    • 最新接鏈進展以及對應地址
  • 運行
    • 如何成爲一個新的驗證者
    • 如何成爲一個新的驗證者[進階版]
    • 取出或撤回
Powered by GitBook
On this page
  • 合約地址
  • 合約界面
  • 用戶界面
  • transferOutToken
  • transferOutNative
  • 存入本地
  • depositeNative 存入本地
  • 信使界面
  • 管理界面
  • 功能
  • 參數
  • 數據結構

Was this helpful?

  1. 開發
  2. MOS 全鏈服務
  3. MOS 指南

EVM鏈合約

Previous中繼鏈合約NextNEAR 協議合約

Last updated 1 year ago

Was this helpful?

合約地址

合約界面

interface EvmChainContract {
    function initialize(address _wToken, address _lightNode)external;
    
    function transferOutToken(address _token, bytes memory _to, uint256 _amount, uint256 _toChain) external;
    
    function transferOutNative(bytes memory _to, uint _toChain) external;
    
    function depositToken(address _token, address _to, uint _amount) external;
    
    function depositNative(address _to) external;
    
    function transferIn(uint256 _chainId, bytes memory _receiptProof) external;
    
    function isBridgeable(address _token, uint256 _toChain) public view returns (bool);
    
    function isMintable(address _token) public view returns (bool);
 
}

用戶界面

transferOutToken

跨鏈轉出代幣

功能

function transferOutToken(address _token, bytes memory _to, uint256 _amount, uint256 _toChain) 外部

參數

參數
類型
備註

_token

address

轉移代幣的代幣地址

_to

bytes

轉出代幣的目的鏈接收地址

_amount

uint256

要轉移的代幣數量

_toChain

uint256

轉出的目標鏈id

transferOutNative

原生幣跨鏈轉出

功能

function transferOutNative(bytes memory _to, uint _toChain) external

儲存代幣

參數
類型
備註

_to

bytes

轉出代幣的目的鏈接收地址

_toChain

uint256

目標鏈轉出

存入本地

將代幣存入vault

功能

function depositToken(address _token,address _to,uint _amount)外部

參數

參數
類型
備註

_token

address

從中轉移代幣的代幣地址

_to

address

目標鏈轉出

_amount

uint

要存入的代幣數量

depositeNative 存入本地

將代幣存入vault

function

function depositNative(address _to) external

parameters

| 參數 | 類型 | 備註 | | | --------- | ------- | ------------------------------------------------------------ | | _to | address | 待轉出代幣的目的鏈接收地址 |

信使界面

###轉入

執行跨鏈傳輸

功能

function transferIn(uint256 _chainId, bytes memory _receiptProof) external

parameters

參數
類型
備註

_chainId

uint256

起源鏈 id

_receiptProof

bytes

起源鏈轉出證明

管理界面

###初始化

執行初始化

功能

function initialize(address _wToken, address _lightNode)public

參數

參數
類型
備註

_wToken

address

這是包裝合約地址

_lightNode

address

這是LightClient合約地址

數據結構

ReceiptProof包括證明和收據證明。

struct istanbulExtra {
    //Addresses of added committee members
    address[] validators;
    //The public key of the added committee member
    bytes[] addedPubKey;
    //G1 public key of the added committee member
    bytes[] addedG1PubKey;
    //Members removed from the previous committee are removed by bit 1 after binary encoding
    uint256 removeList;
    //The signature of the previous committee on the current header
    //Reference for specific signature and encoding rules
    bytes seal;
    //Information on current committees
    istanbulAggregatedSeal aggregatedSeal;
    //Information on the previous committee
    istanbulAggregatedSeal parentAggregatedSeal;
}
 struct TxReceiptRlp {
     //This is an indication of the type of transaction
     uint256 receiptType;
     // This is the rlp encoded data of the transaction log
     bytes receiptRlp;
 }

struct receiptProof {
    // the block header where the receipt exists
    blockHeader header;
    //the istanbulExtra struct
    istanbulExtra ist;
    // the aggregated G2 public key of the signed validators
    G2 aggPk;
    // the TxReceiptRlp struct
    TxReceiptRlp txReceiptRlp;
    // the index of the receipt in the block
    bytes keyIndex;
    // the proof to prove the existance of the above receipt
    bytes[] proof;
}
此處獲取MAPO主網和測試網MCS合約地址。
MOS