脉波开发者文档
  • 脉波开发者文档
  • 基础主題
    • 脉波简介
    • MAPO币
    • 全链去中心化应用
    • 全链应用与单链或多链应用的区别
    • 第三方信任跨链与点对点跨链方案区别
    • 比特币二层
      • brc-201
    • 预言机 Oracle
      • Supra: MAP Protocol 上的去中心化预言机
    • 帐户
    • 交易
    • 区块
    • MPT树
    • RLP编码
    • Gas费用
    • 消息跨链
    • 轻客户端
      • MAPO轻客户端
    • 全链开发组件层MOS
      • MOS接口和功能
      • MOS的部署
      • Messenger
    • 中继链(atlas)
      • 节点架构
        • 中继链(atlas)架构 - 区块和交易结构
        • 创世
          • 创世配置 - 介绍创世配置文件
          • 创世合约
            • ABI
              • Accounts
              • Election
              • EpochRewards
              • LockedGold
              • Validators
            • 地址
            • 部署
        • 预编译合约 - 支持的预编译合约
        • 协议
          • Proof of Stake
          • 共识
          • 选举
          • 奖励
          • 治理
      • 部署节点 - 包括公共RPC节点
        • 运行节点(中继链)
        • 归档节点(中继链)
        • 引导节点(中继链)
        • 验证节点 (中继链)
        • RPC节点(中继链)
      • Marker工具 - atlas的简易客户端工具
        • Genesis
        • Validator
        • Vote
        • Common
      • 搭建私有网络
      • 公共网络服务信息
        • 公共网络
      • 示例
        • 如何成为一个 Validator 并加入到 Atlas 网络中
        • 如何成为一个 Validator 并加入到 Atlas 网络中[高级]
    • Compass(maintainer,messenger)
      • Compass - 架构及模块说明
      • Compass配置参数
      • Compass环境与部署
      • Compass二次开发 - 基于compass定义自己的路由服务
  • MAPO技术堆栈
    • 堆栈
      • 接入的链
    • EVM兼容
      • 智能合约语言
      • 智能合约结构
      • 智能合约库
      • 编译智能合约
      • 测试智能合约
      • 部署智能合约
      • 可组合性
      • 智能合约安全性
      • 智能合约形式化验证
      • 开发框架
      • 开发网络
    • 实现跨链互通
      • EVM兼容链的跨链互通
        • 轻客户端验证
        • 轻客户端状态更新
        • MOS层
      • 非EVM兼容链的跨链互通
        • 轻客户端验证
        • 轻客户端状态更新
        • MOS层
    • 如何开发全链应用
    • 轻客户端信息
    • SDK/API - mapo支持的API
      • MOS接口
      • 轻客户端接口
      • 中继链RPC
        • json-rpc
          • atlas json rpc
          • atlas consensus rpc
        • javaScript sdk
        • go-sdk
      • 后端API
        • 浏览器API
        • 数据统计与分析API
  • 零知识证明(zk)
    • 零知识证明
Powered by GitBook
On this page
  • 找到正确的仓库
  • 部署合约
  • 部署 MosRelay 合约
  • EVM链上的MOS
  • 升级MOS或者MosRelay合约
  1. 基础主題
  2. 全链开发组件层MOS

MOS的部署

找到正确的仓库

git clone https://github.com/mapprotocol/mapo-service-contracts.git

cd /mapo-service-contracts/evm/

npm install

配置好.env文件

* PRIVATE_KEY - 部署地址私钥
* INFURA_KEY - 使用infura的prc的key
* MOS_SALT - 部署mos的salt
* FEE_SALT - 部署feeService的salt
* DEPLOY_FACTORY - Mapo的部署工厂的合约地址0x6258e4d2950757A749a4d4683A7342261ce12471(支持大部分通用的evm链 比如 bsc ploygon eth 主网测试网都支持)

部署合约

部署 MosRelay 合约

以下步骤有助于在 Map 主网或 Makalu 测试网上部署 MOS 中继合约

  1. 部署mosRelay

npx hardhat relayFactoryDeploy --wrapped <wrapped token> --lightnode <lightNodeManager address> --network <network>
  • wrapped token是 MAP 主网或 MAP Makalu 上WMAP 代币地址。

  • lightNodeManager address是部署在 MAP 主网或 MAP Makalu 上的轻客户端管理器地址。

  1. 部署FeeService合约

npx hardhat feeFactoryDeploy --network <network>
  1. MosRelay设置 FeeService

npx hardhat setFeeService  --address <feeService address> --network <network>
  1. MosRelay 注册 其他mos 地址

npx hardhat relayRegisterChain --address <mos contract address> --chain <mos chain id> --type <optional default evm value is 1> --network <network>

EVM链上的MOS

  1. 在其他EVM链上部署MOS合约

npx hardhat mosFactoryDeploy --wrapped <native wrapped address> --lightnode <lightnode address> --network <network>
  1. 部署FeeService合约

npx hardhat feeFactoryDeploy --network <network>
  1. 设置 MosRelay 在部署mos合约中

npx hardhat mosFactoryDeploy --relay <Relay address> --chain <map chainId> --network <network>
  1. MOS设置FeeService合约合约地址

npx hardhat setFeeService  --address <feeService address> --network <network>

升级MOS或者MosRelay合约

当通过以下命令升级mos合约时。

请在EVM兼容链上执行以下命令

npx hardhat deploy --tags MapoServiceV3Up --network <network>

请在Map Relay chain主网或Makalu测试网上执行以下命令

npx hardhat deploy --tags MapoServiceRelayV3Up --network <network>
PreviousMOS接口和功能NextMessenger

Last updated 12 months ago