老鱼
@chaimyu
·
Hello Hive!
想了半天也没想好用什么标题,想起第一次编程,想起每种语言的第一个程序,无数次的看到“Hello World!”,在HIVE也是第一次,那就来个最简单的问候:Hello Hive!
4th Street Bar
Hive-Bar
Browse freely. Sign in only when you want to participate.
Hive-Bar · Powered by Hive · beta-fdb5b5b
Hive profile
@chaimyu
One day sitting in the well looked at the sky, blowing the wind uphole, jumping out of the well, dancing in the wind!
Sign in with Hive Keychain to follow this account.
想了半天也没想好用什么标题,想起第一次编程,想起每种语言的第一个程序,无数次的看到“Hello World!”,在HIVE也是第一次,那就来个最简单的问候:Hello Hive!
最近闲着无事和朋友做个小应用,需要开发网页,虽然以前团队都用过VUE、React等框架,但自己却没有写过一行前端网页代码,个人觉得也是应该提高的,正好借机练练手。 # 做一个“我的训练”页面 需要做的页面效果图如下: ## 布局 几种布局方法: 1. 直接手写,适合对HTML和CSS都比较熟悉的人 2. 找类似网页进行修改 3. 用网页软件制作类似页面后修改 我对CSS并不太熟悉,用的是第2种方…
Vue是一套用于构建用户界面的渐进式框架。 # 安装 >已经安装nvm Chaim:vue Chaim$ nvm use v8 Now using node v8.12.0 (npm v6.5.0) Chaim:vue Chaim$ npm install -g vue-cli 查看帮助 Chaim:vue Chaim$ vue Usage: vue <command> [op…
>还有心情来写文章和看文章的,也真是佛系了! 对以太坊交易结果检测一直存有疑问,再来从交易数据理一下。 # 转帐 ### 未打包 > eth.getTransaction("0x9b03576991948f3e129651f07aef16d510e12d471b836ab7ecf5d5bfd49657f5") { blockHash: "0x000000000000000000000…
虽然知道以太坊的多重签名机制是通过合约实现的,但一直没去仔细看过,近期在GUSD中也看到这部分内容,按操作来熟悉一下,更底层机制有时间再去研究。 # 公私钥对和地址 要做离线签名,首先得有私钥,有了私钥就能算出公钥和地址,代码如下: let elliptic = require('elliptic'); let ec = new elliptic.ec('secp256k1'); let eth…
前面研究GUSD的Custodian合约时,需要进行离线签名,以前都是对交易进行签名,没有单独对数据进行签名,这次一起来看看怎么对数据签名和验证。 # geth签名验证 ### personal.sign > a0 "0x54b865714068f5f03574ace39a1f3279c4e83e2c" > personal.sign("My name is Chaim!", a0,…
前面分析过GUSD的一些功能和实现,其中还有一个重要部分就是Custodian合约,这个合约实现了多重签名机制,并且GUSD的其它一些安全特色,如时间锁定、操作取消也是通过这个合约来实现的。 ## Custodian合约概要 1. 实现了2/N的签名机制,就是N个签名者只要有两个签名就可以通过回调机制调用GUSD合约的方法,如修改Custodian地址、增加发行量等; 2. 合约提供了时间锁机制…
我们看过这个token发行图,在Impl和Custodian中插入了PrintLimiter,这次来仔细看下PrintLimiter的实现。 # 合约代码 这部分代码不多,直接全放上来吧! /** @title A contact to govern hybrid control over increases to the token supply. * * @notice A contract…
ERC20 token在转移时都需要有以太币做为燃料费,GUSD也是ERC20代币,但GUSD提供了一种不需要以太币进行资金归集的方法,简单来看一看。 ## 授权资金归集 function enableSweep(uint8[] _vs, bytes32[] _rs, bytes32[] _ss, address _to) public onlySweeper { require(_to !=…
仔细看了遍GUSD的白皮书,把白皮书里的功能和代码结合起来分析下。 ## 合约分离 分成几个合约,并且可以升级,有几个好处: 1. 解决漏洞; 2. 扩展系统新功能; 3. 完善和优化系统; 4. 暂停、阻止或撤销Token传输,如灾难性安全事件,或者法院或其他政府机构有法律要求时。 Proxy调用Impl,Proxy实现ERC20的标准接口,合约内部不保存逻辑和token数据; Impl调用S…