第四期线上 Workshop 回顾

简介: 由 GearFans 举办的 “Gear 中文第四期线上 Workshop” 于 2022 年 2 月 18 日成功举行。

由 GearFans 举办的 “Gear 中文第四期线上 Workshop” 于 2022 年 2 月 18 日成功举行。

本次 Workshop 由 Gear 小助手主持,并邀请来自俄罗斯的 Gear 开发者 Louisa 作为本次嘉宾,为我们讲解如何使用 Gear 开发 NFT 智能合约。Louisa 是莫斯科物理技术学院的初级研究员,她在密码学、区块链和开发智能合约方面很有研究。她参加了多次黑客马拉松,从事于区块链开发工作。曾经为 EVM、Solana 做了很多贡献,参与其中智能合约的编写,现于 GEAR 团队负责智能合约开发。

Nicole 首先介绍了 Gear 以及 Gear 的关键技术。


2fb54ec311dc466d86b334df35cd8c3b.png

1f4e3514f626d06c01cff988b64a87ff.png

并发计算系统有两类常见的通信方式:共享内存通信——并发程序通过更改共享内存位置的内容进行通信;消息传递通信——通过消息交换进行并发程序通信。

通常,消息传递并发比共享内存具有更好的性能。在消息传递系统中,每个进程的内存开销和任务切换开销更低。有很多理论可以用来理解消息传递系统,比如说 Actor 模型。对于进程间通信,Gear 使用 Actor 模型,Actor 模型的原理是程序从不共享任何状态,只是在彼此之间交换信息。作为先进的语言概念,Actor 模型越来越流行,现在许多新的编程语言都在使用它。

61cb459ef77bd67b1db385721152d9bc.png

相较于典型的文本和原生代码,WebAssembly 的体积更小,便于将二进制文件传输到网络缓慢的设备上,这将大大提高文件传输效率。WASM 还支持用不同语言编写的智能合约,这大大扩展了智能合约开发者可用的语言家族。此外,WASM 是独立于硬件之外的,具有很高的便携性。而 Actor 模型将保证网络的稳定、高效和安全。这两个独特的功能确保交易以最快的速度在 Gear 上运行,从而保证成本最低。


接下来,Nicole 简要介绍了 Gear 的应用场景。

1.png

后续 Nicole 进一步向大家介绍了 Gear 现阶段的发展情况以及 Gear 的创始团队。

2.png

3.png

4.png




接下来,Louisa 向大家讲解如何在 Gear 开发 NFT 智能合约。

5.png

Louisa 介绍了 NFT 的合约代码,具体代码请参考:https://github.com/gear-tech/apps/tree/master/non-fungible-token , 是 nft 接口。

https://github.com/gear-tech/apps/tree/master/nft-example , 是具体例子

NFT的合约接口代码:

// non-fungible-token/src/base.rs
pub trait NonFungibleTokenBase {
  fn init(&mut self, name: String, symbol: String, base_uri: String);
  fn transfer(&mut self, from: &ActorId, to: &ActorId, token_id: U256);
  fn approve(&mut self, owner: &ActorId, spender: &ActorId, token_id: U256);
  fn approve_for_all(&mut self, owner: &ActorId, operator: &ActorId, approved: bool);
  fn balance_of(&self, account: &ActorId);
  fn owner_of(&self, token_id: U256);
}

这几个方法跟 ERC721的核心方法的作用一致。

// non-fungible-token/src/lib.rs
pub struct NonFungibleToken {
  pub name: String,
  pub symbol: String,
  pub base_uri: String,
  pub owner_by_id: BTreeMap<U256, ActorId>,
  pub token_metadata_by_id: BTreeMap<U256, TokenMetadata>,
  pub token_approvals: BTreeMap<U256, ActorId>,
  pub balances: BTreeMap<ActorId, U256>,
  pub operator_approval: BTreeMap<ActorId, ActorId>,
}
impl NonFungibleTokenBase for NonFungibleToken {
  ......
  // 此处是 non-fungible-token/src/base.rs NonFungibleTokenBase 的具体实现
}

在 nft-example 中, 讲 NFT 实现与 Gear 合约的基础架构结合,实现 1 个完整的NFT合约。

大家可以编译 nft-example,并通过 https://idea.gear-tech.io/ 部署合约。

关于 Gear 合约的基础知识,请看之前的文章:Gear 合约大揭秘

在 Q&A 环节,Shooter 和 Louisa 解答了大家的提问。我们从这些提问中摘录了部分问题:

What's the difference between Gear and Ink? (Gear 和 Ink 有什么区别?)

  • 波卡系的平行链大都基于 Web Assembly。它只是同一种标准,比如说 Go 可以编译为 Web Assembly, Rust 也可以编译为 Web Assembly,但这 2 个 wasm 文件的差异很大。Gear 和 Ink 明显的区别就是 Gear 基于 Actor 模型,效率更高。Ink 在代码上会更复杂,理念上和 Solidity 有一定的关联度。


Can gear interoperate evm contracts? (Gear 可以和 evm 合约交互吗?)

  • It can't interoperate evm yet but we hope that it would be able to interoperate with other blockchains. (Gear 目前还无法与 evm 合约交互,但我们有这方面的目标,未来会和更多区块链进行交互。)


以后会有简易的部署节点方式吗?

  • 现在 Gear 的 Wiki 上有一个部署节点的新方式,其实部署节点算是一个基本操作,你需要对 Linux 机器或者对其他机器有一定的了解,目前还没有一个特别简单的部署方式。


本次活动的 PPT 在 https://kdocs.cn/l/cgl52t7yqmme,对Gear技术感兴趣的小伙伴,欢迎查看中文wiki:https://wiki.gear-tech.io/zh-cn/ ,如对wiki翻译有任何建议,欢迎提交 pr,说不定有什么奖励哦。

本次线上 Workshop 圆满结束,感谢社区朋友这一路以来的支持。后续 GearFans 会举办更多线上与线下活动,请持续关注我们的最新资讯,参与我们的精彩活动!


关于GearFans


Gear 是波卡生态的计算组件,GearFans 是 Gear 爱好者社区。

目录
相关文章
|
弹性计算 运维 安全
阿里云最佳实践workshop实战训练营-6月场完美收官
最佳实践workshop实战训练营是基于角色扮演的场景化沉浸式实操训练,通过现场参加实训帮助客户快速掌握场景的落地技术方案,通过产品组合实战实操来帮助客户快速了解阿里云各产品及方案的优势。
阿里云最佳实践workshop实战训练营-6月场完美收官
|
数据可视化 开发者
《支付宝地推的设计故事-商服作业 CRM 设计-梦宛》演讲视频&文字版
《支付宝地推的设计故事-商服作业 CRM 设计-梦宛》演讲视频&文字版
160 0
|
存储 数据采集 弹性计算
实时数仓Workshop · 广州站 9.15 邀您参加!
9月15日,聚焦 Flink + Hologres 实时数仓在数据链路中扮演的角色与在智能商业中的重要价值。
实时数仓Workshop · 广州站 9.15 邀您参加!
|
存储 数据采集 运维
|
消息中间件 Rust JavaScript
第三期线上 Workshop 回顾
由 GearFans 举办的 “Gear 中文第三期线上 Workshop” 于 2022 年 1 月 18 日通过腾讯会议举行。
284 0
第三期线上 Workshop 回顾
|
Linux 开发工具
第二期实战营日志
1月24:今天通过联系复习了使用vim编辑文本、对文件内容和信息的查看以及使用Linux命令处理文本,很多命令之前都是在零零散散的自学使用,能有这么个机会系统学习,感觉很好! 1月25:今天复习了更多的系统工作命令,这些命令都是工作中经常要用到,通过复习,熟练了很多~ echo/date/ps/top/pidof/killall/ifconfig/uname/uptime/free/who/last/history 1月26:今天学习了磁盘管理命令,包括查看检查文件系统的磁盘空间占用情况的df命令和查看文件和目录磁盘的使用空间的du命令、磁盘分区fdisk命令,有dos的基础,学习很轻松 1月
119 0
|
SQL 机器学习/深度学习 人工智能
2020收官行—BIGDATA + AI Meetup 2020第三站·北京站开启报名!
始于开源,精于实践,作为2020年收官之战,本次 Meetup 又将让大数据和 AI 擦出怎样的技术花火?开源届冉冉升起的新星和风光无限的老将们将会用哪些精彩案例作为年度收尾?来自阿里云、滴滴出行、微博、Databricks、汇量科技、 Zilliz 等知名企业的技术大咖将以实践案例深度解读大数据+AI的现在与未来。落地到出行、应用于医疗、服务在社交媒体,我们从声音、影像、图片、数字···交织的信息巨网中撕出一道道出口,透出属于大数据人的科技之光。
2020收官行—BIGDATA + AI Meetup 2020第三站·北京站开启报名!
|
消息中间件 存储 人工智能
下半年你关心的行业热点都在这里,BIGDATA+AI Meetup 2020第二站·上海站开启报名!
本次活动汇集2020年下半年开发者最关心的开源主题,搜罗了数据湖、数仓架构、实时计算等热门议题,8位行业资深专家,硬核输出,用实践说话。
3066 0
下半年你关心的行业热点都在这里,BIGDATA+AI Meetup 2020第二站·上海站开启报名!
|
Arthas Cloud Native Dubbo
参与有奖 | Arthas 第 5 期征文活动火热开启!(内附第四期中奖名单)
第五期 Arthas 征文活动将于 9 月 12 日 - 10 月 12 日举办,后续征文活动将持续至 2020 年 12 月。参与即有机会拿奖,欢迎大家继续踊跃投稿!
参与有奖 | Arthas 第 5 期征文活动火热开启!(内附第四期中奖名单)
|
人工智能 大数据
欢迎您参与上海大数据&AI线上WorkShop
扫码加入观看群 欢迎您参与上海大数据&AI线上WorkShop 时间:2020年7月8日下午13:30-17:00 地点:线上钉群直播
460 0
欢迎您参与上海大数据&AI线上WorkShop