做网站用php吗,网页设计与制作dw教程,东莞企业网站设计公司,电子相册在线制作网站2、如何发行自己的数字代币#xff08;truffle智能合约项目实战#xff09; 1-Atom IDE插件安装2-truffle tutorialtoken3-tutorialtoken源码框架分析4-安装openzeppelin代币框架#xff08;代币发布成功#xff09; 1-Atom IDE插件安装
正式介绍基于web的智能合约开发
推… 2、如何发行自己的数字代币truffle智能合约项目实战 1-Atom IDE插件安装2-truffle tutorialtoken3-tutorialtoken源码框架分析4-安装openzeppelin代币框架代币发布成功 1-Atom IDE插件安装
正式介绍基于web的智能合约开发
推荐一个新的开发工具 Remix在线工具无需安装有缺点不适合项目的开发
下面的ico代币都要借助官方的模板。保存到本地在本地进行修改
一行有可能团队开发 https://learnblockchain.cn/docs/solidity/resources.html#solidity-ide 这里使用ATOM本身绿色版
支持高亮和语法检查 打开一个项目
无智能合约的高亮状态 可能进行了屏蔽无法下载需要科学上网安装
若install未安装成功可以将已经下载好的包离线安装-此操作看视频 本人直接在线安装好了 language-ethereum是高亮的插件 再安装自动补全的插件 autocomplete-solidity
都是通过官网下载的
此处也在线安装成功了
有高亮状态了
有了此工具开发dapp会更加方便
2-truffle tutorialtoken
进行web
使用相关的web框架参考
学习新技术的时候也使用模板
后期根据需求进行修改开发效率无疑最快
有各种基于去中心化的解决方案
每个项目设计的技术也不太同
可以根据自己掌握的技术栈选择
通过tutorialtoken完成代币的发送及转账 https://www.trufflesuite.com/boxes 项目的下载和部署页面 创建项目需要的步骤也在其中
Truffle框架已安装完成 此项目模板下载 进行模板下载失败网络问题
故直接在码云或者github寻找 很快就下载下来了
直接运行失败了truffle develop
官方的bug
注意将truffle.js改为truffle-config.js
必须修改
此时就打开了
Migrate部署报错版本太低使用ATOM打开项目更改版本 通过npm run dev是js的命令必须在开发者模式外执行
执行npm run dev报错
安装
npm install -g live-server问题已找到直接找到下方的解决方法
再次向github下载
按照上方的步骤一步步来 一直到migrate 还是出现了此错误
https://blog.csdn.net/qin_zhimou/article/details/98966993 以下解决方法完全可行 再次运行成功后出现界面如下 进行ico合约发布转账 Node moudles
Src下是前端内容 Src下的js下的app.js就最核心的内容
下节课会分析 自动运行项目并分配3000端口 上方更改dev的启动端口 退出服务再启动npm run dev 启动的服务可以在局域网其他设备查看
3-tutorialtoken源码框架分析
模板编译部署运行
Json的注释在
{//:json格式,定义项目所需的各种配置,和当前项目依赖的资源,#name: 定义项目的名称, version: 版本,name: tutorialtoken,version: 1.0.0,description: ,main: truffle-config.js,directories: {test: test},#script:定义可以执行的脚本 npm run dev中的dev为定义的脚本名词,scripts: {dev: lite-server,test: echo \Error: no test specified\ exit 1},author: ,license: ISC,devDependencies: {#lite-server: lite-server,可以用来搭建本地server服务,默认会读取当前bs-config.json文件,lite-server: ^2.3.0}
}可以在bs-config该端口等
官方的demo着重将src下的文件 Css和font是用来美化界面的
从index分析唯一该用户展示的界面
此处jQuery依赖的是google的在线版下方最好下载下来为离线版
https://www.jq22.com/jquery-info122 右键另存为 保存到对应的js文件下
jQuery最好直接下载下来 Bootstrap框架 !-- web3.js 提供了智能合约实例化,和合约调用的功能(RPC 远程过程调动) --其他项目要想要调用公有链的智能合约就需要RPC
App.js是核心的编写的js文件最重要的
接下来详细分析App.js
本节课主要分析结构下节课分析细节
App{}本身是一个对象
项目开始需要链接到私有链使用web3Provider 在最下方的函数只要页面加载完成就执行App对象中的init函数而init函数有调用下方的initweb3用来实例化web3对象
Web3内置在truffle私有链执行就可以调用若后期无私有链可以使用 http://cw.hubwiz.com/card/c/web3.js-1.0/ 初始化web3实例后才能调用合约
接下来要进行智能合约的初始化
Node.js写作风格
所有的js都被引入到了html
App.js是后台可以调用js文件下所有的js执行
自己写个智能合约编译后生成json文件内含ABI数据
TruffleContract函数在其他的js中用来获取其他合约的名称 非常标准的逻辑私有链链接合约实例化
数字货币转账框架继承
4-安装openzeppelin代币框架代币发布成功
将合约和函数补全才能
在区块链比较火的时候发ico进行众筹
无非就是发行数字名称和总量
已经有解决方案
使用开源代币框架进行发币
使用npm本地安装 在项目根目录下
这里需要注意的是使用npm安装的是最新版本的 openzeppelin-solidity使用的合约都是0.8了而之前的安装环境是0.5.16的后续冲突会无法继承使用所以不使用下方命令安装
npm install openzeppelin-solidity将开源框架下载到本地
使用cnpm安装 E:\truffle\token\github\tutorialtoken-box-mastercnpm install openzeppelin-solidity 结果还是0.8的
算了使用课程提供的代码进行吧
然后新建合约输入如下 合约直接继承ERC20即可
pragma solidity ^0.5.0;import openzeppelin-solidity/contracts/token/ERC20/ERC20.sol;//npm导入的库contract TutorialToken is ERC20 {string public name TutorialToken;//名称string public symbol TT; //代币符号uint8 public decimals 2; //代币精度// 发行自己代币的总数量uint public INITIAL_SUPPLY 12000;// 构造函数constructor() public {// 调用父类函数,传入合约所有者地址和发币总额_mint(msg.sender, INITIAL_SUPPLY);}}此发行的币不是以太坊等币而是自己的币若有合适产品并且大家都认可你的代币那么你的代币就有价值
重要的是如何让别人相信你的代币有价值
此时完成迁移文件要以阿拉伯数字开头
打开ganache
项目运行要链接到私有链连接到的接口如下 进行合约的编译和部署
E:\truffle\token\github\tutorialtoken-box-mastertruffle develop
truffle(develop) deploy --reset直接使用课程提供的代码进行编译部署
truffle develop
truffle(develop) deploy --reset在另一个cmd窗口运行
Npm run devWeb3为全局变量若存在则没问题。不存在链接现有的私链
一旦页面合约初始化完毕就查询当前的账户余额 这里是0因为链接的账户无钱
有这些代币的账户为部署此转账合约的账户中 找到上方部署的账户地址找到对应私钥导入metamask中
添加代币 此时就显示代币是数字了代币算是发布成功了 代币间的转账也需要消耗gas
一个没有以太坊的钱有代币的账户发给另一个账户代币交易时无法成功的失败 此时明确运行在以太坊上的代币之间的转账操作是需要消耗gas的
Result.c
转账成功后查询当前账户的余额