脉波开发者文档
  • 脉波开发者文档
  • 基础主題
    • 脉波简介
    • 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
  • Truffle 简介
  • 项目设置
  • 初始化 Truffle
  • 配置部署设置
  • 更新truffle-config.js文件
  • 编译合约
  • 部署合约
  • 部署与 Validator 相关的合约
  1. 基础主題
  2. 中继链(atlas)
  3. 节点架构
  4. 创世
  5. 创世合约

部署

Truffle 简介

Truffle 是一个世界级的开发环境、测试框架和资产管道,用于使用以太坊虚拟机(EVM)的区块链。通过创建一个 Truffle 项目并编辑一些配置设置, 您可以轻松地在 Atlas 链上部署您的项目。

要在 Atlas 中继链上使用 Truffle 进行部署,您需要准备好本地环境。如果您不想使用本地环境进行部署,可以使用 Remix 或 Replit 进行部署。

如果你是 Truffle 的新手,请完成快速入门教程,以更加熟悉这个工具

项目设置

设置项目目录

打开终端窗口,创建一个项目目录并进入该目录。

初始化 Truffle

初始化 Truffle 会为您的 Truffle 项目创建一个脚手架

truffle init

配置部署设置

默认的truffle.config.js文件包含了部署到以太坊网络所需的连接,导入了HDWalletProvider,并连接到您的.env文件中的助记词。 要部署到 Atlas 网络,您需要更新此配置文件,将其指向不同的 Atlas 网络,并添加一些特定于 Atlas 最佳实践的细节。

更新truffle-config.js文件

在文本编辑器中打开truffle-config.js,并通过以下示例配置其内容:

module.exports = {
    networks: {
        atlas: {
            host: "https://rpc.maplabs.io",
            port: 7445,
            network_id: "22776"
        }
    }
}

编译合约

truffle compile

部署合约

使用以下命令将部署到您指定的 atlas 网络。

truffle deploy --network atlas

部署与 Validator 相关的合约

首先你需要编译 atlas-contracts 项目,我们需要关于 atlas-contracts 的 bytecode 来生成 genesis.json 文件。

  1. 在任意文件夹中下载 atlas-contracts 项目,使用以下命令 git clone https://github.com/mapprotocol/atlas-contracts.git

  2. 假设您已经安装了 node ,然后切换到项目文件,初始化项目并使用以下命令 npm install

  3. 使用 npm install truffle 下载 truffle 并使用 truffle 编译项目,truffle 的编译命令是 truffle compile 完成后在您的 atlas-contracts 项目中将生成一个名为 build 的文件。我们将使用此文件来指定相应的参数。

Previous地址Next预编译合约 - 支持的预编译合约

Last updated 1 year ago