以太坊宠物商店 - 记录第一个Dapp

背景

记录以前练习的第一个Dapp宠物商店,使用以太坊作为处理宠物收养的方式。该商店在特定时间可容纳16只宠物,并且他们已经拥有宠物数据库。所以我们做一个将以太坊地址与宠物相关联的dapp,官方提供了网站结构和样式。我们只需编写智能合约和执行前端逻辑。首先我的思路是:

设置开发环境
使用Truffle创建项目
编写智能合约
编译和迁移智能合约
测试智能合约
创建用户界面以与智能合约进行交互
在浏览器中与dapp交互

Dapp简介

Dapp 是 Decentralized Application 的简称,即去中心化应用。在某种程度上,比特币可以说是出现的第一个 Dapp,因为它是完全开源的,为贡献者提供奖励回报,不受一个中央机构的控制,并使用区块链作为支撑技术。 区块链作为一个基础设施,提供了分布式的去中心化可信数据库,人们可以基于此,可以开发各种应用,适用于不同的场景。 简单来说,Dapp和普通的 App 原理一样,除了他们是完全去中心化的,由类似以太坊网络本身自己的节点来运作的 Dapp,不依赖于任何中心化的服务器,Dapp 是去中心化的,可以完全自动地运行。 目前 Dapp 通常指代基于以太坊或者 EOS 上的智能合约开发的相关应用。
在这里插入图片描述

Dapp运行原理:Dapp 底层区块链开发平台就好比手机的 iOS 和 Android 系统,是各种 Dapp 的底层生态环境,Dapp 就是底层区块链平台生态上衍生的各种分布式应用,也是区块链世界中的基础服务提供方,Dapp于区块链,就好比 app之于 iOS 和 Android。

设置开发环境

在我们开始之前有一些环境需要安装。

  • 首先安装的是Node.js v8+ LTS and npm,它可以让JavaScript 运行在服务端的开发平台,在前端交互的地方会使用到,再根据自己的电脑版本选择合适的下载。
    在这里插入图片描述
  • 然后是git也是必须的,他是一个开源的分布式版本控制系统。
    在这里插入图片描述
  • 然后就是我们的truffle,可以直接在命令行里面安装
npm install -g truffle

要验证Truffle是否已正确安装,可以输入truffle version查看版本。
然后就是下载一个测试链工具Ganache,他的前身是TestRPC用于以太坊开发的个人区块链,我们主要使用它来部署合同,并且开发应用程序和运行测试。如果想在没有图形界面的环境中进行开发,可以使用Truffle Develop,这是Truffle的内置个人区块链,在命令行输入ganache-cli我们也可以看到可用的账户和秘钥,ganache默认创建10个测试账户,每个账户里面也会有一些余额
在这里插入图片描述

使用truffle创建项目

1、用Truffle在当前目录中初始化,在文件夹中创建一个目录,然后把项目移进去。

mkdir pet-shop-tutorial
cd pet-shop-tutorial

2、使用现成的的Truffle Boxpet-shop框架,其中包括基本的项目结构以及用户界面的代码。用truffle unbox命令解压缩这个框架到我们的文件夹下。

truffle unbox pet-shop

注意:truffle框架可以通过几种不同的方式初始化。另一个的初始化命令是truffle init,它创建一个空的Truffle项目,但不包含示例合同。

3、默认的Truffle目录结构包含以下内容:

  • contracts/:包含我们的智能合约的Solidity源文件。这里有一个迁移合约Migrations.sol
  • migrations/:Truffle使用迁移系统来处理智能合约部署。迁移是一种额外的特殊智能合约,可以跟踪变化。
  • test/:包含智能合约的JavaScript和Solidity测试
  • truffle-config.js:truffle配置文件

写智能合约

1、我们将通过编写充当后端逻辑和存储的智能合约来启动dapp。这里推荐一个在线的编译器remix可以用来测试智能合约。创建一个名为一个新的文件Adoption.sol在contracts/目录中。将以下内容添加到文件中:

pragma solidity ^0.5.0;
contract Adoption {

}

需要注意的事项:
合同顶部标明了所需的最低Solidity版本:pragma solidity

  • 2
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 10
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值