Developer Hub
Relation ProtocolRelation ONE APIRelation Graph API
中文
中文
  • 概述
  • 快速开始
    • 基于Relation Protocol 部署合约
    • 使用Graph Indexer部署Social Graph的查询服务
  • 关键概念
    • RDF
    • Semantic SBTs
    • Social Graph
  • Relation Protocol的架构
  • Schema Standard
    • 概述
    • schema如何约束智能合约
    • schema存储
    • schema列表
  • Contract Open Standard
    • 概述
    • Identity
      • Name Service
    • Relationship
      • Follow
      • Dao
    • Publication
      • Content
      • Privacy Content
  • Open Standard API
    • 介绍
    • EIP-6239
    • 业务接口
      • Identity
      • Relationship
      • Publication
  • Graph Indexer
    • 定义与用途
    • 事件监听
    • 解析数据
    • 构建图谱
  • 集成
    • 快速开始
    • 构建Relation Protocol社交图谱
    • Relation Protocol 资源列表
    • NameService 合约请求示例
    • Follow 合约请求示例
    • Dao 合约请求示例
    • Content 合约请求示例
    • PrivacyContent 合约请求示例
  • Relation Name Service
    • Name Service Api
  • 用例
  • 附录
    • 使用Hardhat部署合约
    • SemanticSBT部署工具
Powered by GitBook
On this page
  • Hardhat简介
  • 环境搭建
  • 安装Node.js
  • 安装Hardhat
  • 合约部署
  • 下载合约
  • 准备编译环境
  • 编译合约
  • 部署合约
  1. 附录

使用Hardhat部署合约

Last updated 2 years ago

Hardhat简介

是一个方便在以太坊系列的链上上进行构建的任务运行器。使用它可以帮助开发人员管理和自动化构建智能合约和dApp的过程中固有的重复任务,以及轻松地围绕此工作流程引入更多功能。

Hardhat还内置了Hardhat 网络,Hardhat 网络是为开发而设计的本地以太坊网络。 用来部署合约,运行测试和调试代码。

环境搭建

安装Node.js

因为Hardhat是基于JavaScript编写的,所以需要确保运行系统中已经安装了Node.js >=12.0

curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.35.2/install.sh | bash
nvm install 12
nvm use 12
nvm alias default 12
npm install npm --global 
sudo apt update
sudo apt install curl git
curl -sL https://deb.nodesource.com/setup_12.x | sudo -E bash -
sudo apt install nodejs

安装Hardhat

在Node环境安装成功后,就可以安装Hardhat了

npm install --save-dev hardhat

合约部署

下载合约

进入github,clone对应仓库

git clone git@github.com:relationlabs/relation-sbt.git

准备编译环境

npm install --save-dev hardhat

编译合约

cd relation-sbt
npm install
npx hardhat compile

部署合约

部署合约时,通过设置"network"参数来选择部署的环境。network可以是localhost,也可以测试网或者主网环境

npx hardhat run scripts/deploy.js --network {$network}
Hardhat