首页 > 分享 > 以太坊开发

以太坊开发

最新推荐文章于 2022-09-16 23:23:56 发布

bk1171676983 于 2019-01-27 14:55:03 发布

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

pet-shop Box项目地址:http://truffleframework.com/boxes/pet-shop

pet-shop Box官方教程:http://truffleframework.com/tutorials/pet-shop

本文在原文基于Truffle Box中的pet-shop Box代码,使用图形化的Ganache以及插件形式的以太坊轻客户端MetaMask,编写一个去中心化的宠物商店的基础上,加入了在实际操作过程中解决遇到的问题。例如页面无法正常显示的问题

项目背景

Pete有一个宠物店,有16只宠物,他想开发一个去中心化应用,让大家来领养宠物。
在truffle box中,已经提供了pet-shop的网站部分的代码,我们只需要编写合约及交互部分。

环境搭建

安装Node 安装 Truffle
第1,2步骤请查看区块链开发(一)Truffle入门指南 安装Ganache

创建项目

建立项目目录并进入

yuyangdeMacBook-Pro:~ yuyang$ mkdir pet-shop-tutorial

yuyangdeMacBook-Pro:~ yuyang$ cd pet-shop-tutorial

使用truffle unbox 创建项目

yuyangdeMacBook-Pro:pet-shop-tutorial yuyang$ truffle unbox pet-shop

这一步需要等待一会。

也可以使用truffle init 来创建一个全新的项目。

项目目录结构

contracts/ 智能合约的文件夹,所有的智能合约文件都放置在这里,里面包含一个重要的合约Migrations.sol(稍后再讲)。

migrations/ 用来处理部署(迁移)智能合约 ,迁移是一个额外特别的合约用来保存合约的变化。

test/ 智能合约测试用例文件夹。

truffle.js/ 配置文件。

其他代码可以暂时不用管。

编写智能合约

智能合约承担着分布式应用的后台逻辑和存储。智能合约使用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是编译型语言,需要把可读的Solidity代码编译为EVM字节码才能运行。

yuyangdeMacBook-Pro:pet-shop-tutorial yuyang$ truffle compile

输出

Compiling ./contracts/Migrations.sol...

Comp

相关知识

首款基于以太坊的宠物社交3D区块链游戏《旺旺狗》公测来袭
【精品】边黎安大神陪你一起学dapp以太坊 宠物狗领养 免费大神指导
Hello Kimi区块链云宠物社交休闲游戏由国内资深原创游戏开发团队打造
没有最疯狂只有更疯狂:一只虚拟"宠物猫"叫价13亿元
宠物区块链开发平台
前瞻区块链产业全球周报第54期:深圳正开展数字货币内测,“购买加密货币”的谷歌搜索量达两年高点
Vitalik 出席的基辅 Web3 黑客松获胜项目一览
一周预告
宠物工坊打造一个宠物需要多少能量
鸡犬升天!狗狗币之后 秋田犬币、柴犬币、宠物币都涨疯了

网址: 以太坊开发 https://m.mcbbbk.com/newsview182069.html

所属分类:萌宠日常
上一篇: 现货水滴蓝牙防丢器断点提醒钥匙钱
下一篇: python实例1