DAPP智能合约DeFI质押挖矿系统开发技术讲解(成熟源码)

简介: DAPP智能合约DeFI质押挖矿系统开发技术讲解(成熟源码)

在工程项目 scripts 中,我们可以找到一个名为 deploy.js,这个文件就是我们部署合约使用的脚本文件

const hre = require("hardhat");

async function main() {
const currentTimestampInSeconds = Math.round(Date.now() / 1000);
const ONE_YEAR_IN_SECS = 365 24 60 * 60;
const unlockTime = currentTimestampInSeconds + ONE_YEAR_IN_SECS;

const lockedAmount = hre.ethers.utils.parseEther("1");

const Lock = await hre.ethers.getContractFactory("Lock");
const lock = await Lock.deploy(unlockTime, { value: lockedAmount });

await lock.deployed();

console.log(

`Lock with 1 ETH and unlock timestamp ${unlockTime} deployed to ${lock.address}`

);
}

// We recommend this pattern to be able to use async/await everywhere
// and properly handle errors.
main().catch((error) => {
console.error(error);
process.exitCode = 1;
});
复制
我们打开文件可以看到文件的代码很简单,其中

const hre = require("hardhat");
复制
定义了一个 hardhat 运行时环境,按照官方介绍, 允许在 hre 可访问的地方使用任何功能,在下面的实际部署代码中,我们也可以看到,ehters 对象也是从 hre 中获取的

const currentTimestampInSeconds = Math.round(Date.now() / 1000);
const ONE_YEAR_IN_SECS = 365 24 60 * 60;
const unlockTime = currentTimestampInSeconds + ONE_YEAR_IN_SECS;
const lockedAmount = hre.ethers.utils.parseEther("1");
复制
这部分代码,主要是在处理合约部署时需要的初始化变量,并不是我们部署合约必须的环节

const Lock = await hre.ethers.getContractFactory("Lock");
const lock = await Lock.deploy(unlockTime, { value: lockedAmount });

await lock.deployed();
复制
在我们第二节课程里讲述了上面的代码,大家如果没有印象了可以翻阅一下上一节课,这部分代码主要就是声明合约对象,然后调用 deploy 方法进行合约部署

console.log(

`Lock with 1 ETH and unlock timestamp ${unlockTime} deployed to ${lock.address}`

);
复制
打印日志

main().catch((error) => {
console.error(error);
process.exitCode = 1;
});
复制
最后是调用部署合约方法

在真正部署合约的时候,还需要介绍一下区块链网络配置,下面我们来看看 hardhat 里面是如何进行区块链网络配置的

二、区块链网络配置
1、hardhat 配置文件

项目根目录里可以看到一个名为 hardhat.config.js 的配置文件,这个配置文件主要用来配置 solidity 编译配置以及 hardhat 需要使用的一些配置信息

solidity: "0.8.17",
复制
上面代码配置了 solidity 编译版本,我们可以根据需要自行修改,请注意.sol 文件里使用的 solidity 版本声明也需要同步修改

相关文章
|
存储 供应链 物联网
DAPP智能合约系统技术开发一站式服务/DAPP/Defi质押/NFT
DAPP智能合约是基于区块链技术构建的去中心化应用程序。它通过智能合约的方式实现了去中心化的数据存储和业务逻 辑执行。与传统的中心化应用程序不同,DAPP智能合约没有中心化的控制机构,而是依赖于网络中的节点共识来保证数 据的安全性和一致性。
|
安全 区块链
defi/dapp矿机算力系统开发(智能合约)
去中心化应用是基于智能合约的应用程序,通过让用户自己控制他们的数据和资产
|
安全 区块链 数据安全/隐私保护
Defi/DAPP智能合约质押挖矿系统开发/DeFi应用/NFT/DAPP
Defi/DAPP智能合约质押挖矿系统开发/DeFi应用/NFT/DAPP
|
存储 安全 JavaScript
DAPP系统开发|NFT智能合约链游系统开发(成熟技术)
智能合约在达成协议时可消除对中间方的依赖
|
存储 算法 区块链
GRETT格莱特智能合约系统开发|格莱特质押模式系统开发DAPP技术搭建
“去中心化”是区块链的典型特征之一 The liquidity providers provide the pool with the two
DAPP去中心化交易所系统开发详细功能丨DAPP去中心化钱包系统开发规则详细/成熟技术/源码说明
 A smart contract is a computer program that runs on a blockchain. Programs include functions and data (also known as variables or parameters), which operate on data. The data used by the function needs to be stored in the computer's memory
|
存储 区块链
DAPP/LP/DEFI智能合约流动性质押挖矿系统开发(详细及方案)丨源码案例
智能合约事实上是由计算机代码构成的一段程序,其缔结过程是:第一步,参与缔约的双方或多方用户商定后将共同合意制定成一份智能合约;
|
存储 人工智能 边缘计算
什么是DAPP智能合约系统开发?DAPP智能合约流动性质押挖矿分红逻辑系统开发详情方案及设计
  Web 3.0:指的移动互联网后的下一个阶段的互联网生态,主要是通过区块链等技术手段,实现去中心化的网络形态,实现模拟真实世界感受、打破虚拟、现实边界的互联网;
什么是DAPP智能合约系统开发?DAPP智能合约流动性质押挖矿分红逻辑系统开发详情方案及设计
|
存储 前端开发 JavaScript
dapp/defi智能合约流动性LP质押挖矿系统开发(开发源码案例)丨成熟技术
Dapp:代表去中心化应用程序。它们是在去中心化网络或区块链上运行后端代码(主要用Solidity编写的智能合约)的应用程序。可以使用React、Vue或Angular等前端框架构建Dapp。
|
存储 算法 区块链
dapp/defi代币流动性挖矿系统开发(详情及方案)丨dapp/defi代币流动性挖矿系统开发(案例及功能)
     智能合约是运行在区块链系统可复制、共享账本上的计算机程序,可以处理信息,接收、储存和发送价值。基于区块链技术的智能合约,不仅可以发挥智能合约在成本效率方面的优势,而且可以避免恶意行为对合约正常执行的干扰。将智能合约以数字化的形式写入区块链中,由区块链技术的特性保障存储、读取、执行整个过程透明可跟踪、不可篡改。同时,由区块链自带的共识算法构建出一套状态机系统,使智能合约能够高效地运行。