以太坊Solidity迁移Flow Cadence指南-0:前言

本文面向有一定区块链合约开发经验的程序员,探讨Flow区块链的吸引力,如低成本交易,以及Cadence合约语言的特点。Cadence的语法与常见语言不同,但通过学习其面向资源编程的概念和借鉴现有合约,可以快速从Solidity过渡到Cadence。文章提供了一系列实战教程,旨在帮助读者在几天到一周内掌握Flow的NFT和智能合约开发。
摘要由CSDN通过智能技术生成

本文主要面向有一点区块链合约开发基础的码农,写过solidity等语言,希望看看新的Flow区块链是怎么样的,为什么NBA、冬奥会都选择了flow区块链发行NFT,以及是否能快速迁移到Flow。

首先还是讲一个大家最常问的问题,为什么选择Flow?类似的文章也非常多了。不过,不认可的还是不认可@#¥@#¥,主要还是因为从未真正了解过。这里笔者就直接PUA 了:“面向资源的编程,才是NFT的未来”。真正写了、部署了flow合约,才能体验到flow的魅力,谁用谁知道。

 

 

图1 Flow/Cadence完全具备成为Web3.0时代 iPhone/ios的潜力

如果非要写明一点flow/cadence特色的话,那就是“便宜,便宜,还**是便宜”。交易成本降低是促进交易繁荣的基本条件,以太坊及其模仿者们明显还不太具备这个条件。按照最近几个月的均价,以太坊上铸造一个标准ERC721的NFT,大概一二百块钱左右,其他的如波场等类以太坊平台,大概几十块钱的样子,而flow上基本都是.........几分钱!

表1 不同区块链的年运行电量消耗(官网blog),大致和铸造NFT的价格正相关

区块链

年耗电量 (GWh)

Bitcoin

178.040

Ethereum

108.390

Solana

11.05

Polygon

0.79

Flow

0.18

下面就书归正传,开始说下Cadence。Cadence就是Flow区块链的合约语言。一段典型的cadence代码是这样的:

let acct1ReceiverRef = acct1.getCapability(/public/CadenceFungibleTokenTutorialReceiver) 

             .borrow<&ExampleToken.Vault{ExampleToken.Balance}>()

             ?? panic("Could not borrow acct1 vault reference")

Cadence的语言风格并不是常见的C++、python、java类型的,而是相对小众的Rust等,因此大部分码农学习起来,还是稍微需要有那么一点点耐心的。这也是不少Solidity码农第一眼看到Cadence,就感觉有点难的原因。

而本文的目的,也是希望能够让Cadence的学习更加丝滑。本系列短文为典型的实用主义风格,随看随用,作为系列短文的第一节,再简单说一些学习的“捷径”:

1 多记记cadence几个特色符号和语法就行,其他的语法和常见的python、java等就没啥不一样。

2 体会啥是面向资源的编程。资源其实可以看作是一类特殊的结构体,有一些特定的用法。当然,还要多看看Cadence中账号的内置函数,主要也是和资源相关的。 

3 和以太坊领域erc20和erc721类似,大部分合约只要继承下标准合约,改下token名称就行了。Cadence的token和NFT合约也是类似的,就是合约名字多改几个位置而已。区块链领域,import/ctrl c+ctrl v 是一种美德。 

本系列短文的目的,就是让你能快速的将solidity程序迁移flow cadence,快的几天,慢的一周足矣。学习nft,深耕韭菜地,漫步元宇宙,入门必看。

本系列文章大致分为如下一些小的短文,每个都相对独立,解决一个Cadence实际开发问题:

1 为什么选择flow ,本文内容

2 从solidity到cadence,主要介绍下两种语言的语法差异 

3 从truffle到flow cli , 介绍脚本部署差异

4 从remix到playground ,介绍可视化编程IDE

5 从web3.js到FCL.js ,介绍web端调用差异

6 钱包的选择 , 用户账号

7 erc20迁移 ,这个是token了

8 erc721迁移 , 这个是NFT

9 盲盒迁移 , 这是主要介绍cadence随机数的应用

10 如何设计复杂的flow应用 ,有追求的码农可以看看

11 哪里可以抄代码 ,大部分码农的需要

12 可能用到的flow生态项目 ,运营上线必备,包括如何加入生态赚flow

短文中的测试代码后续均会放在这里:

maris205/flow-is-best · GitHub

作者简介,mariwang/wechat,  曾在互联网大厂摸鱼,后被毕业,拉个小山头,靠做大数据赚点小钱钱。2017年9月后开始关注区块链+大数据研究,团队开发的minerva大数据系统曾获IPFS社区推荐。曾在小象学院开设过以太坊solidity课程,目前为flow技术大使,参与了flow的课程设计和助教工作。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wangliang_f

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值