LOADING...
LOADING...
LOADING...
当前位置: 玩币族首页 > 区块链资产 > 思考 YFI社区和YAS社区的区别在哪里?| 以太坊智能合约学习010|AP没有放弃 投

思考 YFI社区和YAS社区的区别在哪里?| 以太坊智能合约学习010|AP没有放弃 投

2020-08-31 牛币集了 来源:区块链网络




投资之道

独立思考,复利思维




01

每日思考

When one teaches, two learn.


●三种Token的类型


3C模型Commodity currency company


第一类商品:




因此比特币更像是一种商品,比方说数字黄金。


第二种类型:货币(达世币、门罗、瑞波)




这种Token是由货币管理者来决定它的用途和增发、销毁等,管理的东西要比商品更多一些。


第三种类型:公司(KSM、波卡、YFI、EOS、YAS)





波卡创始人Gavin wood 对Token的三种定义。


这个YFI币现在可是大名在外,已经超过了比特币的价格。而这个币是三种中的哪一种呢?


显然它不是商品,它也不是货币,它也是Gavin说的公司类型的币吗?有点像,因为它有治理权。



●YFI社区和YAS社区的区别在哪里?



Market Research曾经有一篇文章专门讲了YFI的社区,为什么这个社区能这么牛,他认为有以下三点:

产品与市场的契合度社区参与充分的去中心化(社区所有权)

在1月初的时候,他们提到还没有看到任何一个项目完全充分执行了这些要素,但Yearn.financial仅在一个周末就成功做到了这一点,并积累了远超4亿美元的资产管理规模,社区的参与度也是目前看来最活跃的。来自各地的DeFi思想领袖和团队非常团结,治理工作也完全交给了社区。而现在整个DeFi的资金规模已经达到100亿美元。

什么是Yearn.Finance或YFI?

Yearn.finance曾经叫做iearn.finance,是一个自动化的DeFi收益率聚合器,在上周六YFI推出之前,资产管理规模约为800万美元,综合收益率约为10.5%。它的工作原理主要是自动存入稳定币和通过AAVE、Compound和dYdX等多个协议进行流动性挖矿。Yearn.financial是一个全新推出的产品,还带来了一套全新的收益工具,如ytrade、yliquidate、yleverage、ypool和智能合约信用委托贷款。

可以看到主要开发者Andre Cronje,创建一个YFI代币,并交出了整个yearn.finance工具套件的控制/治理权。尽管他有权力给自己一个矿前或创始人的奖励,但他却选择为自己不预留任何代币。这个代币只是有治理权,连创始人自己也认为它的价值等于零,但是因为整个DeFi的大量(最近大火)技术团队都在这个治理结构里,所以这个治理权现在变得非常值钱。完美地体现了社区强则币价强。

而看一下YAS的社区,他也是实现了创始人AP交出了整个YAS的控制和治理权,同样也选择了不为自己预留任何代币。

现在的问题是YAS社区没有一个和市场契合度高的产品出来,在整个YFI体系里,AAVE大家应该都知道,他们做出了闪电贷,所以lend也百倍了。Comp就不用说了,是他放的第一把火。而且这些大牛们都有一个共同的伟大的目标:我们要做的是去中心化金融DeFi。(很多人只谈赚钱,没有理想和愿景反而赚不到钱,这世界就是这么奇怪

看起来只差第一条是吧?可是现在YAS社区里只有AP一个人牛,其他能提上名的就只有SET团队,他们做的是广告和知识付费。反观,整个做DeFi生态的大牛们在这个行业里是头部玩家,包括跟随他们的矿工和大资金们。

但是这些头部玩家变得是很快的,小散跟得上的可以吃肉,跟不上的就要挨打,现在的整个DeFi的设计就像当年华尔街的次级货款,已经复杂到设计者自己都看不懂了,而且抵押了还可以再抵押,比如寿丝币。华尔街一百年的故事,这里几个星期全部讲完。

虽然在YAS链上跑DeFi会更快更好,可是人家看不见你哦,主要是连EOS生态都只是在币圈歧视链的第三层:BTC的看不起ETH看不起EOS。现在波卡也看不起EOS了,好像任何人都可以踩EOS几脚。YAS公链还只是EOS生态中更小的一个细胞。

但是YAS和YFI一样都是治理币,也就是Gavin所说的公司类型的Token。它们可以变化和自我革新,所以莫欺少年穷,这个才诞生不到一年的项目未来会怎样,谁也无法预测。YAS有成为优秀项目的潜质,只是差一些贵人,有时候,这真的是需要一些运气的。



●以太坊智能合约学习010


详解Uniswap的源码


今天只是简单介绍一下怎么进行研究一个项目的大概方法,因为这个项目很复杂,所以可能会连续几期来讲解学习它。


这里是从技术角度来了解这个项目,如果您只是炒币,可以跳过。


通过对项目结构甚至源码的学习,可以加深对项目的了解,甚至对整个DeFi的了解。是终的目的是,部署一个自己的去中心化交易所。也就是把Uniswap改成自己可以用的版本,比如把PDF作为这个交易所的平台币?


https://github.com/Uniswap



在它的代码里,第一个核心就是它的合约代码。


V2版本的核心代码都在里面了,是标准的solidity代码开发的,框架方面好像用的是华夫?



打开第二个文件夹contracts(合约)可以看到下面的三个合约。



这三个合约分别是:


UniswapV2ERC20.sol (ERC20)

UniswapV2Factory.sol (工厂合约)

UniswapV2Pair.sol (配对合约)


他们之间是什么关系呢? 配对合约继承自ERC20,是用来创建那些配对的代币的,就是上币用的,而工厂合约是用来部署它们的。

其实你可以把ERC20和配对合约看成是一个合约,用来创建和配对代币,也就是上币。比方说你上线PDF和ETH对的时候,花了0.4个ETH创建了一个交易对,这时候就是配对合约调用ERC20中的一些方法来实现的,成功了后会创建一个关于PDF/ETH的配对合约,每一个交易对都是一个单独的合约。这个合约被创建了之后还需要部署上链才能生效,那就是工厂合约的事了。

昨天的内容留一部分,今天我发现在他的合约代码里有闪电贷的内容,不知道是不是,放这里大家研究一下。

从字面上看,应该是关于闪电贷的一个例子。


ExampleFlashSwap.sol


第二个合约是一个价格预言机的合约,很有意思,不知道工作原理是怎么样的。


ExampleOracleSimple.sol


这个我觉得他可能就是一个滑点的计算工具吧?


代码很简洁,一共才67行。



今天我重点学习了工厂合约,我把这个合约的内容都做了中文的注释,希望对您有帮助。


UniswapV2Factory.sol (工厂合约)



pragma solidity =0.5.16;


import './interfaces/IUniswapV2Factory.sol';//导入工厂文件的接口合约

import './UniswapV2Pair.sol';//导入配对合约


//工厂

contract UniswapV2Factory is IUniswapV2Factory {

address public feeTo; //收手续费的地址

address public feeToSetter; //收手续费的权限控制地址


mapping(address => mapping(address => address)) public getPair;//配对映射,地址=>(地址=>地址)二层映射牛逼


address[] public allPairs; //所有配对的数组


event PairCreated(address indexed token0, address indexed token1, address pair, uint);//事件:配对创建,有二个token地址0个1被索引上了


//下面是个构造函数,feeToSetter 是收手续费的权限开关

constructor(address _feeToSetter) public {

feeToSetter = _feeToSetter;

}


//下面这个方法是用来查询配对数组的,返回所有配对的长度?

function allPairsLength() external view returns (uint) {

return allPairs.length;

}


//下面这个方法是最重要的,它有二个参数tokenA和tokenB,然后返回了pair 配对地址 创建了配对。

function createPair(address tokenA, address tokenB) external returns (address pair) {

//确认tokenA不等于tokenB

require(tokenA != tokenB, 'UniswapV2: IDENTICAL_ADDRESSES');

//将tokenA和tokenB进行排序,确保A小于B,然后换了名字叫0个1

(address token0, address token1) = tokenA < tokenB ? (tokenA, tokenB) : (tokenB, tokenA);

//确认token0不等于0地址

require(token0 != address(0), 'UniswapV2: ZERO_ADDRESS');

//确认配对中原来没有过,唯一性检查。

require(getPair[token0][token1] == address(0), 'UniswapV2: PAIR_EXISTS'); // single check is sufficient

//给变量bytecode赋值,把UniswapV2Pair的合约创建字节码给它,可以检查一致性。

bytes memory bytecode = type(UniswapV2Pair).creationCode;

//这个salt是盐的意思吧,这个keeccak256不正是ETH的共识算法吗?这是在把这两个币打个包然后做了一次哈希运算吧。

bytes32 salt = keccak256(abi.encodePacked(token0, token1));

//传说中的内联汇编

//solium-disable-next-line

assembly {

//通过create2方法,把盐放进去,做好了菜,把菜的地址,放到了pair变量里。

pair := create2(0, add(bytecode, 32), mload(bytecode), salt)

}

//调用pair地址合约中的“initialize”初始化方法对二个币进行初始化

IUniswapV2Pair(pair).initialize(token0, token1);

//配对映射中设置的token0=>token1=pair

getPair[token0][token1] = pair;

//配对映射中设置的token1=>token0=pair

getPair[token1][token0] = pair; // populate mapping in the reverse direction

//把这个pair地址推入到配对的数组中,相当于结婚登记

allPairs.push(pair);

//触发配对成功的事件,相当于办酒。

emit PairCreated(token0, token1, pair, allPairs.length);

}

//下面是设置收手续费的地址

function setFeeTo(address _feeTo) external {

require(msg.sender == feeToSetter, 'UniswapV2: FORBIDDEN');

feeTo = _feeTo;

}


//下面是设置收手续费的权限地址

function setFeeToSetter(address _feeToSetter) external {

require(msg.sender == feeToSetter, 'UniswapV2: FORBIDDEN');

feeToSetter = _feeToSetter;

}

}



您可以把它复制到IDE里面看,可能会更清楚。



吹牛币

终生学习,共同进步



02

社区动态



●AP没有放弃



猴哥的文章里把AP最近的想法做了详细介绍,我把链接放下面了。


YAS将进行重大转型丨AP公布他的波卡平行链方案丨开发棋盘游戏



最近大家FOMO情绪,加上对PDF没有让大家赚到钱的失望,导致YAS大跌。不光是YAS,现在连一些微博大V都心里很烦。



●有人问AP会像牛油果那样放弃YAS吗?






波卡的Gavin wood是一个有使命感有愿景的人,V神也是,YFI的创始人Andre Cronje和社区的小伙伴们都是,他们或多或少地都在想去改变世界。BM在这一点上要差一点,但是AP有使命和愿景,只是他的使命和愿景太大。


YFI的创始人Andre Cronje的社区也经历过几乎死亡的低潮期,只有使命和愿景才能让人们在困难的时候还在一起,不放弃,才能坚持到美好的未来。




谢谢您的阅读



文章中提到的都是高风险投资品种,我是以归零的心态在持有,请不要模仿。以上文章里的内容不作为投资建议,鉴于您赚了钱不会分给我,所以笔者也不会对您的投资亏损负责!


我是收集牛币的牛币,希望以上观点对您有所帮助。



了解区块链从这开始(新人入口)

椰子社区专用词速查(传送之门)




今后文章主要以“吹牛币、学投资”为主题。


想交流的加V (lengjing2007)


—-

编译者/作者:牛币集了

玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。

LOADING...
LOADING...