首页 > 分享 > 技术员如何开发一个DAPP区块链应用(以宠物商店为例)

技术员如何开发一个DAPP区块链应用(以宠物商店为例)

最新推荐文章于 2024-07-18 18:40:04 发布

Luo0722123 于 2022-01-21 20:33:05 发布

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

本文详细指导技术新手如何开发一个基于区块链的宠物商店DAPP,涵盖Truffle框架的使用,智能合约的编写、编译和部署,以及通过Web3与智能合约交互。文章还介绍了如何在Windows环境下搭建开发环境,包括安装Truffle、Ganache-cli、Lite-Server和MetaMask。通过实践,读者将学会智能合约开发环境的搭建、Truffle项目创建、智能合约的编写和测试,以及通过MetaMask与智能合约交互。

摘要由CSDN通过智能技术生成

展开

1. 文章摘要

【本文目标】

通过逐步的指导和截图举证,一步步带领一个技术新手完成一个宠物商店DAPP应用的开发和部署。

【环境前置条件】

参考《第一课 如何在WINDOWS环境下搭建以太坊开发环境》,已完成Ubuntu的安装,已完成TRUFFLE,Ganache-cli,lite-server的安装;
本案例是通过WINDOWS的XSHELL客户端同本机的Ubuntu命令操作进行的。
已在本地WIDOWS环境完成MetaMask轻钱包客户端的安装。
最好遵循从头开始的课程学习顺序。不过如果你想半途插入实操学习,问题也不大,遇到障碍时反向找对应文章的指导内容即可完成。

【技术收获】

从本实践中,你可以学习到:
搭建智能合约开发环境
创建Truffle项目
编写智能合约
编译和部署智能合约到区块链
如何通过Web3和智能合约交互
MetaMask 的使用

【实操课程列表】

第一课 如何在WINDOWS环境下搭建以太坊开发环境
第二课 如何实现以太坊最简智能合约“Hello World”的运行
第四课 以太坊开发框架Truffle从入门到实战
第六课 技术小白如何开发一个DAPP区块链应用(以宠物商店为例)
第七课 技术小白如何在45分钟内发行通证(TOKEN)并上线交易
第八课 如何调试以太坊官网的智能合约众筹案例
【说明】未列出的课程为知识普及的非实操类课程,所有区块链文章参考“区块链入口”专栏。

2. 下载/编写TRUFFLE框架的智能合约

项目背景

Pete有一个宠物店,有16只宠物狗,他想开发一个去中心化应用,让大家来领养宠物。
在truffle box中,已经提供了pet-shop的网站部分的代码,我们只需要编写合约及交互部分。
【官网原始参考】
代码框架下载:Pet Shop Truffle Box - Truffle Suite
开发指导:404

环境搭建

环境需要NodeJS, Truffle,Ganache-Cli, Lite-Server, Meta-Mask等程序,按照步骤可以参考《第一课 如何在WINDOWS环境下搭建以太坊开发环境》 搜索对应关键字在已安装的UBUNTU操作系统完成安装。

安装Node: 

sudo apt-get install curl
curl -sL https://deb.nodesource.com/setup_6.x | sudo -E bash
sudo apt-get install -y nodejs

安装 Truffle :

npm install -g truffle

安装Ganache

sudo npm install -g ganache-cli

【说明】Ganache(或Ganache CLI)已经取代了 testrpc。

4.Lite-Server, Meta-Mask安装

创建项目

建立项目目录并进入

mkdir dapp-guide-pet-shop

cd dapp-guide-pet-shop

使用truffle unbox 创建项目
下载官方程序代码

truffle unbox pet-shop

输出成功结果:

Downloading...

Unpacking...

Setting up...

Unbox successful. Sweet!

Commands:

Compile: truffle compile

Migrate: truffle migrate

Test contracts: truffle test

Run dev server: npm run dev

项目目录结构

contracts/ 智能合约的文件夹,所有的智能合约文件都放置在这里,里面包含一个重要的合约Migrations.sol(稍后再讲)
migrations/ 用来处理部署(迁移)智能合约 ,迁移是一个额外特别的合约用来保存合约的变化。
test/ 智能合约测试用例文件夹
truffle.js/ 配置文件
其他代码可以暂时不用管
【说明】如果想了解TRUFFLE框架更详细的内容,可参考文章《第四课 以太坊开发框架Truffle从入门到实战》

编写智能合约

智能合约承担着分布式应用的后台逻辑和存储。智能合约使用solidity编写。

在contracts目录下,添加合约文件Adoption.sol

pragma solidity ^0.4.17;

contract Adoption {

address[16] public adopters; // 保存领养者的地址

// 领养宠物

function adopt(uint petId) public returns (uint) {

require(petId >= 0 && petId <= 15); // 确保id在数组长度内

adopters[petId] = msg.sender; // 保存调用这地址

return petId;

}

// 返回领养者

function getAdopters() public view returns (address[16]) {

return adopters;

}

}

编译部署智能合约

Truffle集成了一个开发者控制台,可用来生成一个开发链用来测试和部署智能合约。

编译

Solidity是编译型语言,需要把可读的Soli

相关知识

第六课 技术小白如何开发一个DAPP区块链应用(以宠物商店为例)
第七课 技术小白如何开发一个DAPP区块链应用(以宠物商店为例)
Truffle & Web3.js 教程:教你开发、部署第一个去中心化应用(Dapp)
区块链DAPP
百度+莱茨狗≠区块链
开发一个去中心化应用Dapp
区块链案例实践报告
区块链100讲:从宠物商店案例看DAPP架构和WEB3.JS交互接口
以太坊宠物商店
解析宠物商店pet

网址: 技术员如何开发一个DAPP区块链应用(以宠物商店为例) https://m.mcbbbk.com/newsview892702.html

所属分类:萌宠日常
上一篇: 《天天爱消除》如何才能选择适合自
下一篇: 解读MAINFT宠物保险+区块链