我们利用 truffle 的集成环境发布一个名称为 VToken 的代币到Ropsten测试网络。
开发环境
本示例在Ubuntu下开发(原因下面会解释)
1 | node:v10.16.0 |
在前面我们知道可以通过 truffle init 来初始化项目,但是这个只是一个智能合约相关的项目,如果我们要开发Dapp Web 应用,还得做一些配置之类的工作,所以truffle带了unbox功能,直接初始化一个集成各种配置环境的项目,如react、vue等。
在空目录下通过命令 truffle unbox [name of box] 就能生成一个开箱即用的项目。
[name of box] 的都在 github或者truffleframework 可以找到。
比如:
1 | # MetaCoin 智能合约实例 |
JDK中keytool是一个证书管理工具,可以生成“自签名证书”,多用于Java应用,如:Tomcat。
1 | $ keytool -genkey -alias tomcat -storetype PKCS12 -keyalg RSA -keysize 2048 -keystore keystore.p12 -validity 3650 |
数字证书管理工具openssl和keytool的区别: keytool没办法签发证书,而openssl能够进行签发和证书链的管理。
【Gitlab Community Edition 镜像使用帮助】
注意: gitlab-ce 镜像仅支持 x86-64 架构
首先信任 GitLab 的 GPG 公钥:
1 | curl https://packages.gitlab.com/gpg.key 2> /dev/null | sudo apt-key add - &>/dev/null |
服务器断电关机,再开机时一般会导致 gitlab 502错误
1 | $ gitlab-ctl status |
记录一次500错误,是由于强制关掉宿主机导致的,用502错误的修复方法无效果。
配置指南 ,这是有官方给的各种邮箱的配置示例。
1 | gitlab_rails['smtp_enable'] = true |
1 | gitlab_rails['smtp_enable_starttls_auto'] = false |
要把库放在Jitpack使用,一般引用是这样子:
1 | allprojects { |
所以最好这样:
1 | implementation 'com.github.kevinvane:myview:version' |
Android6.0以上才支持修改状态栏字体颜色(亮色)
1 | if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) { |
如果要适配4.4以上的,推荐用ImmersionBar
参考:
** 本文只记录操作步骤 **
** 本文只记录操作步骤 **
** 本文只记录操作步骤 **
登录 bintray 拿到apikey,不需要创建仓库,默认已有maven/nuget等7个仓库,我们用maven就可以,当然也可以创建一个属于自己的maven仓库。
后来看到这篇文章 合约交互 摘录:
标准的与以太坊网络交互的方法是通过以太坊官方构建的Web3库。尽管这个库非常有用,但使用其提供接口与合约交互有些困难,特别是以太坊的新手。为降低学习曲线,Truffle使用Ether Pudding库,它也是基于Web3的基础之上,目的是为了让交互更简单。
基于《6.1、基于truffle框架部署完整合约(发布Token代币).md》的环境,启动Ganache-Gui,并且用truffle编译和部署好合约。
拷贝出 abi 和 合约地址 生成 合约实例,就可以通过 web3.js 调用合约的函数。
1 | # 默认 |
全新的Ubuntu 16.04,所需编译环境:
1 | $ sudo apt-get install build-essential openssl libssl-dev libc-ares-dev uuid-dev cmake -y |
1 |
|
acme.sh 可以从 letsencrypt 生成免费的证书,自动更新.
在上一篇文章《6、基于truffle框架部署合约》中,我们已经实现了部署一个简单的合约(sayhello和add),并且在控制台可以调用合约的函数。
本文将使用
《5.1、基于Ganache-Cli用Remix发布Token(代币)》中sol代码,编译一个比较完整的合约,部署。
1_initial_migration.js文件1 | var Token = artifacts.require("./Token.sol"); |
1 | function TeaToken( |
1 | $ truffle compile |
后来发现 文档翻译系列-Truffle框架 文章,摘录:
Truffle是针对基于以太坊的Solidity语言的一套开发框架。本身基于Javascript。
1 | #本文采用 cli |
本文启动 ganache-cli
1 | $ ganache-cli |
打开remix,一样编译三个sol代码文件(参考上文)。
与
Ropsten Test Net一样,现在我们在私有链发布一个Token,私有链前面使用了Geth来实现,本文通过ganache来作为本地测试私有链。ganache是一个基于内存的以太坊链,用于本地测试,安装简单,不用去连接测试网络,省去同步以太坊区块的麻烦。最关键是为后面的truffle框架做铺垫。
ganache 是GUI程序。(需要nodejs环境)
下载地址 https://github.com/trufflesuite/ganache/releases
支持Linux、Mac和Windows ,本文直接安装Windows的,启动就可以,运行后默认创建10个账号,每个账号里有100ETH的余额。

默认是127.0.0.1,只有本地能访问,修改为WLAN局域网内可以访问。

ganache-cli 是字符终端程序(需要nodejs环境)
1 | $ npm install -g ganache-cli |
参考《以太坊发token教程》
本文只记录操作流程,在Ropsten Test Net下操作(非私有链),用MetaMask和Remix-ide来完成发行部署。
0xBCdc478c31Bb569AFc9ed986E869f62A117a4Cae ),这个账号将会是我们的智能合约的所有者,token发行数量都是存入到这个账号.接口(ERC20标准)