Web3.0
从一个web2.0码农的的角度出发,区块链上的应用变成了去中心化的形式,我们不在开发APP, 而是开发DAPP (Decentralized application), 以前我们需要一个中心化的数据库来处理。现在链作为我们的底层基础设施,帮我们解决了scaling的问题,只要在后台运行节点,我们就享受到了链带来的好处,程序以智能合约的形式在链上运行。对于每个开发者来说,不需要过多的考虑到底层设计,让链帮我们解决底层的问题,更专注的功能开发。让更多的人站在了同一个起跑线上。一个小的团队就可以开发出一个大型dapp,比如Uniswap, 在很长一段时间内,只有几个开发者,但是可以开发并运营全世界最大的去中心化交易所。
由于链是去中心化的,我们写入链的区块里面,没有一个中心的结构来验证,也就是说每个人都是链的一份子,大家互相验证,互相监督,这样我们就需要一个链的通行证 (token)来进行劳动的交换,验证的人得token做为奖励。这样,链的token具有了货币的概念,根据经济学的观念,货币是一种被普遍接受为交易媒介、支付工具。链原生的token,恰恰具有了货币的属性,从一个侧面,帮我们dapp开发者解决了支付的问题,不需要在通过各种API来连接支付系统,不需要考虑汇率,信用卡,paypal,微信,支付宝等等问题,全世界任何一个地方,任何一个人,只要有链的钱包,就能完成支付。
所以在链的生态中,只有用户有一个钱包地址,就能接入链上的所有应用,用户不需要提供身份证,户口本,家庭住址,手机号码,银行账户,也不会有各种卖保险的顺等摸瓜打来电话。当然了,这样也有一个坏处,千万别把私钥告诉了别人,不然钱包里所有资产,全部被人拿走了。另外私钥忘记了,那全玩完了,资产再多取不出来了。所以私钥一定要好好保管,用小纸条抄好。
总而言之,我认为区块链给了社区参与者一个跨越国界共同参与的机会,在全世界任何一个地方,只要有网络,有一个手机或者电脑,就能参与其中。
为什么选择Algorand
说了这么多,我为什么选择Alogrand来开发呢,我也和众多区块链开发者一样,从以太坊开始,为什么呢,因为新手都只知道比特币和以太坊啊,因为比特币也没有智能合约,大家就从以太坊开始,这里不得不说,以太坊的教程真是多,油管上各种从零到精通,从精通到跑路的教程。绝对最合适新手入门。但是以太坊也有缺点,proof of work的机制不具备scaling的能力,链上拥堵,矿工们坐地起价,gas fee暴涨对区块链世界的散户们很不友好。苦苦等待的ETH2.0迟迟不了,只好换链了。
那么以太坊之外的公链,以太坊创始人Charles Hoskinson创建的Cardano很有潜力,我从他的油管频道了解很多区块链的知识,但是Cardano用的最美丽的哈士奇语言(Haskell)实在是看不懂,甚至我看到有人评论,不存在可以精通 Haskell 的人类。 这语言是在太生僻,太难入手。
另一为以太坊的创始人Given Wood创建的Polkadot,也很有潜力,我本人也是DOT的持有者。但是Polkadot是为跨链环境设计的链,其内部的Relay Chain并不支持智能合约。可以说DOT是对以太坊的补充,并不是以太坊的代替品。
于是,我开始研究Near, Solana, Algorand等等链,Alogrand(俗称二狗) 的网站上的开发者文档写的非常好,让我印象深刻,另外SDK最多,基本上涵盖了主流语言,让python, JavaScript, java, go的码农们都能马上欢乐的开始写代码。不需要为了区块链开发再去学习一门语言。另外二狗官方花了大量的经费,请了很多码农写了教程,非常容易跟着例子上手。不管你是python开发者,还是JavaScript开发者,都能找到合适的例子,跟着例子来开发。
Algorand 入门
新手入门学习Algorand开发,从他的开发者官网入手就可以了(https://developer.algorand.org/)。官网里面的内部包括文档(docs),里面对链的1层功能(Layer 1 Capabilities)有详细的介绍,比如AVM虚拟机,ASA Algorand标准资产,智能签名,智能合约,以及Atomic transfers。
了解完这些,开发者网站上有对四种语言的SDK的介绍,python, javascript, go, java. 每一个sdk介绍里面有大量的代码示例,手把手的教如何创建账户,查看账户,生成交易,签名,提交,生成ASA资产等等。如果需要跟着代码示例进行操作,那么需要配置开发环境,运行Algorand的节点,连接algod client 来使用SDK开发。连接节点的方法有两种:第一种是克隆官方的sandbox (https://github.com/algorand/sandbox), 这样的好处是可以运行自己得私有网络,也可以使用官方提供得CLI工具。对于熟悉docker得小伙伴来说,是最佳的选择。缺点是需要先安装docker。如果想快速入门,另一种方法是直接连purestake提供的网络节点(https://developer.purestake.io/),使用他提供的API。缺点是免费版有request次数得限制。
对于智能合约,Algorand提供了三种语言:原生的TEAL,PyTeal和Reach。TEAL是Alogrand智能合约的原生语言,但是对于大部分开发者来说,需要重新学习一门语言,所以提供了PyTEAL,用python语言来编写智能合约,然后再编译为TEAL。REACH是类似JavaScript的语言,同一个程序可以编译为多个链的区块链智能合约语言。当然了,对于复杂的智能合约,还是选用原生的TEAL语言比较好,因为debug只能在TEAL下进行。
另外,Alogrand开发网站有大量得Blog(https://developer.algorand.org/blog/),包括教程,解决方案,代码实例等等,很适合新手入门,照着例子来实践。
还有开发者得discord 社区(https://discord.com/invite/84AActu3at)来交流,并且algorand有大量得油管教程来供大家学习。
最后,愿本文对区块链爱好者有帮助,让大家能够更好的了解区块链,成为一名Algorand链上开发者。
作者Starlink,Algorand链上开发者,NFTSpace创始人,Encoding加速器成员
声明:本文仅代表作者观点与本站立场无关。内容仅作为学习交流使用,不作为投资建议。一圈特约会员作者,如需转载,请注明出处