学习web3的第一天

闲着无事,虽然自己对web3热情满满,但实际并没有去参与,仅仅是买点币作为一个对行业的贡献。

前几天看到一个twitter话题,说一周学会web3开发,来吧,说干就干,开始学习。

此篇文章仅做记录使用,记录自己的收获和学习过程。

学习过程

1 打开google docs,看了下描述

一周学会 Web 3 开发 - 建议收集

从中发觉到几个网站,开始进行遍历和递归查找。

2 先遍历solidity极简入门

  • 看了solidity的变量、函数、类等概念,在remix操作一番,结束,结果发现了一个uint256,这个感觉是从go中来的,翻看起来go-ethereum的代码,发现了一个uint256类型。

发现新的点

3 uint256 类型

一看这个就是大数,go中最大是uint64, 256的话,就是四个uint64,是一个slice。打开uint256的github,一看才100多个star,这个是一个经典的类型,可以看出实际没有人关心这个类型,只关心它的操作。没有业务上的意义,不好展开。

github首页重点讲了他和标准库的对比,就是比标准库的bigint 强悍多少多少。自己没跑过benchmark,怀着好奇,用github的codespace打开一个实例,然后跑了下benchmark,哇,比bigint快好多。

4 go-ethereum 的依赖库分析

本来是去找下uint256在go-ethereum中的依赖和使用的,意外打开了go.mod,所以顺藤摸瓜的看了看go-ethereum的依赖库,发现了很多有名的go library。

首先是依赖的云服务,可以看出是aws和azure,cloudflare 具体要看怎么用的

数据结构,用到了lru

数据传输

id生成器

数据库

yml解析

加解密

消息

btc

测试

5 再遍历下 web3-from-zero

又跑题了,首先看到一个前端学习网站

回到正题,从这个网站看,就两个主题,使用js读和写ethereum的web3。后续看看,应该不难

结果

把solidity看完了,给自己加个任务,下个系列,去阅读分析go-ethereum的依赖库。