DAPP数字货币交易所开发逻辑,DAPP数字货币交易所系统开发(案例及源码)

简介:   DAPP是Decentralized Application的缩写,即去中心化应用,也有人称为分布式应用。它被认为开启了区块链3.0时代。

  DAPP是Decentralized Application的缩写,即去中心化应用,也有人称为分布式应用。它被认为开启了区块链3.0时代。

  智能合约有哪些特点?

  与传统的合约相比,智能合约有三大特点:

  1、合约内容公开透明

  智能合约部署在区块链上,其合约内容自然是公开透明的。

  2、合约内容不可篡改

  同样,因为部署在区块链上原因,智能合约的内容是无法被修改的。

  3、永久运行

  运行在区块链上的智能合约,同样被区块链上网络节点共同维护,只要区块链在,智能合约就能永久的运行下去。

  准备Uniswap合约源码

  源码结构

  Uniswap在Github上面开源了全部合约代码,其中包括核心合约,周边合约两部分.Uniswap还开源了前端代码,前端代码使用React开发

  在Uniswap的核心代码中,主要包含3个合约:工厂合约,配对合约,ERC20合约.其中配对合约继承了ERC20合约,我们可以把它们看作一个合约.工厂合约通过create2方法部署配对合约,所以在部署合约时只需要部署工厂合约.
  周边合约中包括一些示例代码,例如价格预言机,闪电交换,其中最重要的是路由合约.在周边合约的代码库中,包含两个路由合约:UnsiwapV2Router01,UnsiwapV2Router02.工厂合约和配对合约需要通过路由合约调用才能更好的完成交易所的全部功能,所以我们还要部署路由合约

  准备部署账户

  Uniswap的路由合约部署在以太坊的主网和Ropsten,Rinkeby,Goerli,Kovan几个测试网的合约地址都是相同的,这样可以使Uniswap的前端不管切换到任何一个网络,路由地址都不会变.要想实现这个相同地址的部署,我们需要准备一个全新的账户用来部署合约.全新的账户指的是在部署合约之前的nonce值为0.因为合约的地址是根据你的账户地址和nonce值计算出来的,所以在不同网络中,如果nonce值相同,部署出的合约地址也相同.

  准备WETH合约地址

  在部署路由合约时,构造函数中需要填入工厂合约的地址和WETH合约的地址,由于WETH合约的地址在主网和测试网的地址都不相同,所以需要找到每个网络中WETH合约的地址.

  申请infuraKey

  在部署合约之前,我们还需要使用infura作为免费节点,所以需要申请一个infuraKey

  使用remix部署合约

  将工厂合约和路由合约的线上版本导入到remix中,在编译合约的选项中,EVM VERSION选择istanbul,COMPILER CONFIGURATION中选择Enable optimization

  部署顺序和构造函数

  部署工厂合约

  构造函数的参数是一个自己常用的账户地址

  部署路由合约01[可选],02

  构造函数的参数1是工厂合约的地址

  参数2是当前网络中WETH合约的地址,

  部署Uniswap前端

  克隆前端代码

  在项目目录运行命令:

  $git clone https://github.com/Uniswap/uniswap-interface.git

  安装依赖库

  在项目目录运行命令:

  $cd uniswap-interface

  $yarn

  安装完成后,可以先测试运行一下,在uniswap-interface目录运行命令

  $yarn start

  如果运行成功,将会打开一个浏览器,同时打开Uniswap的前端界面

  修改路由地址

  在Uniswap的前端中以常量的形式定义了Uniswap的路由地址,我们只需要修改路由地址就可以让前端链接到你的路由合约中

  修改文件:项目目录/uniswap-interface/src/constants/index.ts第6行

  import{AbstractConnector}from'web3-react/abstract-connector'

  import{ChainId,JSBI,Percent,Token,WETH}from'uniswap/sdk'

  import{fortmatic,injected,portis,walletconnect,walletlink}from'../connectors'

  export const ROUTER_ADDRESS='0x7a250d5630B4cF539739dF2C5dAcb4c659F2488D'//修改成你的路由合约地址

  ......

  保存后运行yarn start即可看到效果

  将代码部署到GitHub Pages

  创建GitHub项目

  创建项目的方法就不在这里讲了,不会的同学可以去搜索一下

  将前端代码添加到GitHub项目仓库

  首先要删除原先Uniswap项目中的.git目录,在项目目录运行命令:

  $cd uniswap-interface

  $rm-rf.git

  然后初始化git,并将Unsiwap前端代码添加到自己的项目仓库中

  git init

  git remote add origin https://github.com/用户名/项目名.git

  安装并部署gh-pages

  我们将通过gh-pages模块将前端代码部署到github.io,在前端代码的目录运行:

  $yarn add gh-pages

  接下来要编译react和部署gh-pages,在前端代码的目录运行:

  $yarn build

  修改前端代码目录中的package.json

  $vim package.json

  {

  "name":"uniswap/interface",

  "description":"Uniswap Interface",

  "homepage":"https://用户名.github.io/项目名称",//修改这里

  ......

  //添加部署的脚本,还是在package.json中

  ......

  "scripts":{

  ......

  "deploy":"gh-pages-d build"//添加这一行

  },

  保存退出之后,在前端代码的目录运行:

  $git add.

  $git commit-m"first commit"

  $git push

  $yarn deploy

  现在在浏览器中打开https://用户名.github.io/项目名称/index.html就可以打开自己的交易所啦.

  如果不输入地址结尾的index.html在项目刚部署之后会报错,过一段时间就可以不输入了.

目录
打赏
0
0
0
0
35
分享
相关文章
智能合约DAPP交易所开发系统案例
智能合约运用了分布式账本技术。区块链是一种去中心化的数据库,每个参与者都可以拥有一份完整的账本副本
区块链交易所开发、 数字货币交易所可二开添加定制化功能
区块链交易所开发是一项复杂的工程,需要技术团队精通多种技术领域,包括但不限于区块链技术、加密算法、交易系统设计、安全性和风险管理。开发一个成功的区块链交易所需要考虑到许多因素,包括用户体验、交易效率、安全性、合规性和可扩展性。首先,交易所的开发需要考虑用户体验。
秒合约交易所/永续合约交易所/币币交易所系统开发(开发稳定版)及案例项目/源码说明
Develop API interface for quantitative spot contract tracking system:Develop API interface in the quantitative spot contract tracking system to interface with exchange APIs.This interface needs to be designed according to the specifications and requirements of the exchange API,and ensure that it mat
数字货币秒合约系统开发(开发案例)丨数字货币合约交易/秒合约交易所系统开发(方案详细)/程序开发/源码项目/成熟技术
 Blockchain 2.0 has become a term for decentralized blockchain databases.Utilize blockchain data structures to validate and store data,and use distributed node consensus algorithms to generate and update data,利用密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合约,编程和操作数据的全新的分布式基础架构与计算范式。
区块链钱包交易所系统开发详细逻辑丨数字货币交易所钱包系统开发(开发案例)及源码部署
  在区块链中,每个块包含了一定数量的交易信息和该块的唯一标识符,同时还包含了前一个块的哈希值。这样的设计保证了区块之间的顺序和完整性,一旦一个块被添加到区块链中,它就不可更改。这使得区块链成为一个安全可信的分布式账本,可用于记录和验证各种类型的交易。
DAPP去中心化交易所系统开发(开发项目)丨DAPP去中心化交易所系统开发(详细案例)/源码功能
  智能合约是区块链DApp的重要组成部分,是实现区块链DApp商业逻辑的基础。因此,设计智能合约应该根据业务需求进行规划,明确合约的功能和业务流程。
什么是数字货币交易所系统开发/数字货币交易所系统开发成熟案例及技术分析/源码版
   区块链、人工智能、数字孪生、人机交互、物联网等面向数据的新一代信息技术的演进并非偶然,而是从Web2.0向Web3.0演进的技术准备。从技术上来看,元宇宙是基于Web3.0技术体系和运作机制支撑下的可信数字化价值交互网络,是以区块链为核心的Web3.0数字新生态。他总结道,元宇宙是以区块链为核心的Web3.0技术体系支撑下的新场景、新产业和新生态,将会在数字环境下催生大量创新商业模式,形成数字空间新范式。
交易所/钱包系统开发技术原理丨数字货币交易所/钱包系统开发(开发功能)及案例源码
  公链是Web3.0的核心载体,支持互操作、赋权赋能和信用机制,以及各类应用,Web3.0公链赛道主要包括Layer1、Layer2、Layer0。