深入分析以太链ETH智能合约DAPP系统开发详情及源码

简介: 以太坊最上层的是DApp。它通过Web3.js和智能合约层进行交换。所有的智能合约都运行在EVM(以太坊虚拟机)上,并会用到RPC的调用。在EVM和RPC下面是以太坊的四大核心内容,包括:blockChain,共识算法,挖矿以及网络层。除了DApp外,其他的所有部分都在以太坊的客户端里,目前最流行的以太坊客户端就是Geth(Go-Ethereum)

  以太坊最上层的是DApp。它通过Web3.js和智能合约层进行交换。所有的智能合约都运行在EVM(以太坊虚拟机)上,并会用到RPC的调用。在EVM和RPC下面是以太坊的四大核心内容,包括:blockChain,共识算法,挖矿以及网络层。除了DApp外,其他的所有部分都在以太坊的客户端里,目前最流行的以太坊客户端就是Geth(Go-Ethereum)

  一、简介

  智能合约

  首先,智能合约并不是像人工智能AI那样的超级智能,智能合约的英文名叫Smart contract,,仅仅是Smart而已,还没有到人工智能的intelligence。

  NFT

  上面我们知道了,智能合约类似一种自动售货机,出售的是通证(token)。如果出售的token的类型是独一无二的,并且是不可分割的,这种token就叫做Non-Fungible Token,即是NFT(需要符合ERC-721标准)。例如一个token代表一张体育比赛的门票,因为每一张门票座位编号不一样,所以对应的token独一无二,又因为座位只能出售给一个人,因为对应的token也不能分割。

  一、以太坊区块链网络简介

  以太坊区块链网络

  以太坊公共区块链网络

  对区块链最好的描述是将其描述为一个公共数据库,它由网络中的许多计算机更新和共享,并且任何人都可以接入。ETH链上系统开发对接唯:MrsFu123,以太坊公共区块链网络也不例外。目前,以太坊公共区块链网络提供了主网和三个测试网,主网就是智能合约正式上线的区块链网络,三个测试网分别为Kovan、Rinkeby和Ropsten。Ropsten是官方提供的和主网最相似的网络,使用工作量证明;Rinkeby也是官方提供的,使用权益证明。

  节点、Geth、Infura

  我们的程序需要访问以太坊节点,才能连接到以太坊公共区块链网络。有几种方法可以做到这一点,可以使用Geth运行自己的以太坊节点。但这需要从区块链下载大量数据并保持同步,很麻烦,成本也高。比较方便的方法是,使用Infura访问以太坊节点。

  Infura是什么?Infura是一种IaaS(Infrastructure as a Service)产品,目的是为了降低访问以太坊数据的门槛。通俗一点讲,Infura就是一个可以让你的DApp快速接入以太坊的平台,不需要本地运行以太坊节点。

  Infura是一个免费提供以太坊节点的服务。接下来有Infura的使用说明。

  一、智能合约应用模块简介

  我们的智能合约应用使用Solidity Template项目模板开发框架来开发。下面简单介绍Solidity Template的组成。

  智能合约应用组成模块

  Solidity Template——项目模板

  Solidity Template是一个Hardhat项目的模板,除了集成Hardhat,还集成了以太坊linter、代码格式化、代码覆盖率测试等工具。Solidity Template直接clone或者下载回来就能使用,非常方便。

  Hardhat——项目主框架

  Hardhat是一个编译、部署、测试和调试以太坊应用的开发环境。使用Hardhat可以方便地开发以太坊的智能合约和dApps。

  Waffle——智能合约应用测试库

  Waffle是一个编写和测试以太坊智能合约的库,比Truffle更加好用,简单和快速,它内部使用了ethers-js、Mocha和Chai。我们将使用它来编写智能合约应用的测试代码。

  Ethers.js——智能合约API库

  Ethers.js是一个编译、部署、测试和调试以太坊应用的开发环境。使用Hardhat可以方便地开发以太坊的智能合约和dApps。这是我们开发智能合约应用所用的最多API的库。这里有中文文档,和官方英文文档。

  Mocha和Chai——测试框架和断言库

  Mocha是一个功能丰富的javascript测试框架,运行在node.js和浏览器中,使异步测试变得简单有趣。Chai是一个针对Node.js和浏览器的行为驱动测试和测试驱动测试的诊断库,可与任何JavaScript测试框架集成。

相关文章
|
安全 前端开发 算法
DAPP智能合约链上系统开发逻辑规则定制部署
DAPP 智能合约链上系统开发是区块链技术的一个重要应用,它可以使去中心化应用程序(DApps)更加安全、高效、便捷地运行。本文将介绍 DAPP 智能合约链上系统开发的规则和详情,以及源码版的设计思路。
|
存储 供应链 前端开发
智能合约Dapp系统链上开发部署源码规则解析
智能合约Dapp系统链上开发部署源码规则解析
|
存储 区块链 数据安全/隐私保护
BSC链DAPP合约技术系统开发指南与需求
最重要的事情是为团队提供充分的理由说明去中心化是有意义的
|
安全 区块链
DAPP代币合约BSC链系统开发详细程序丨BSC链DAPP合约代币系统开发(项目案例)及源码逻辑
  Dapp的核心是智能合约,它定义了应用程序在区块链上运行的规则和逻辑。在设计智能合约时,需要仔细考虑业务逻辑,并确保安全性和可靠性。使用Solidity等语言编写智能合约,并进行测试和部署。
|
前端开发 安全 Java
BSC链DAPP智能合约NFTswap/IPPswap/Defiswap/OMNIswap系统开发(开发方案)/项目程序/案例源码
  什么是智能合约DApp   智能合约DApp是计算机程序,通过它,交易双方可以共同完成交易。如果在执行过程中发生了一系列变化,那么智能合约将会记录这些变化并自动执行这些变化。
|
存储 人工智能 安全
BSC链DAPP智能合约项目系统开发案例分析/需求项目/源码逻辑
  区块链技术的去中心化和安全性质,使得它与人工智能技术的结合更加有意义。区块链可以提供安全的数据存储和传输,而人工智能可以提供更加智能化和自动化的操作方式。
|
开发框架 前端开发 JavaScript
BSC链上进行智能合约开发部署规则详情
BSC(Binance Smart Chain)是一个基于区块链的智能合约平台,类似于以太坊。它提供了一个开发者友好的环境,可以用于创建和部署智能合约。如果你有一些编程经验,并且熟悉区块链和智能合约的基本概念,你可以按照以下步骤在BSC链上进行智能合约开发:
|
安全 JavaScript 前端开发
TRON波场链USDT合约开发源码规则部署
TRON波场链USDT合约开发源码规则部署
|
存储 区块链
DAPP链上智能合约开发稳定版丨DAPP智能合约链上系统开发规则及详情/源码版
区块链是分布式数据存储、点对点传输、共识机制、加密算法等计算机技术的新型应用模式。是一个共享的分布式账本,其中交易通过附加块永久记录。
下一篇
无影云桌面