# Web3 程序员的“道法术器”

By [scriptmoney](https://paragraph.com/@scriptmoney) · 2021-12-13

---

本文素材来源于[CryptoChasers](https://github.com/crypto-chasers/builder-register)技术社区从 2021 年 5 月底到 12 月初的群聊记录，经过整理编辑后，分为“道、法、术、器” 四大部分。适合新进社区的成员阅读，用于补全知识。

> 问答组成的段落开头的 Q: 是提问，A: 是回答。

一、道
---

“道”是指遵循事物的发展规律，确定自身的发展方向、愿景和战略。

程序员在 Crypto 发展的方向有多个，推荐新入行的程序员阅读[「 程序员入坑 Web3 学习路径」](https://mirror.xyz/scriptmoney.eth/H2vA62y8O7YirC2UQStGmsVb5YqjuZ1JpDW4-dvw4To)

[https://mirror.xyz/scriptmoney.eth/H2vA62y8O7YirC2UQStGmsVb5YqjuZ1JpDW4-dvw4To](https://mirror.xyz/scriptmoney.eth/H2vA62y8O7YirC2UQStGmsVb5YqjuZ1JpDW4-dvw4To)

### 程序员在币圈可以做的事情

Q: 这边有一些给对币圈接触不深的程序员，你能说下你的建议吗？

A: 币圈目前的状态， 有点像早期互联网。 就很缺开发，但凡会点技术，一周赚的比你一个月工资多，适合不想当打工人的朋友尝试。炒币适合日常搞搞， 但是做 builder 真心舒服。 目前应该还不算内卷。各种生态，各种项目方， 各种链，基础设施，都在吸引开发者去搞东西。让你帮忙给测个节点，部署一下环境，给你打个几千$。开发的有门槛，做起来也好玩，更适合有技术的参加。正经生态的中长期，能组队 build 起来，也挺好的。而且搞搞开发对自己积累也有好处 。所以平时还是要多刷刷 github 的 commit，早先也有项目对 github 开发者空投的。

### 开发入门实践建议

Q: 能给还不是码农的门外汉指一条入门的学习路径吗?

A: 推荐 [alchemy 的教程](https://docs.alchemy.com/alchemy/tutorials/demo-app)

A: 可以先跟着 [hardhat](https://hardhat.org/) 的官方教程部署一个合约体验一下。

A: [web3j(JAVA 库)](http://cw.hubwiz.com/card/c/web3j/1/1/1/) 有一些简单的接口，solidity 和 web3j 可以一起学习

A: 去 fork ETH 的链上，利用 ETH 生态完善的工具链，去开发项目。对于刚刚接触区块链的开发者来说还是很有锻炼机会的。

### 黑客松

Q: 想问组队做项目，是一般去 hackathon 还是什么渠道？目前大家都在做什么项目

A: 黑客松有好多，但写黑客松一个月的奖励还不如一笔交易。大家没啥心思做黑客松，估计熊市做项目的就多了。

### 科学家赚钱

要想在币圈用代码开挂赚钱，首先你得是个币圈的资深老韭菜，要对币圈热点风向有足够的把握，对各种币圈能让你亏钱的骗术了如指掌，能快速收集信息情报并做筛选过滤，能有足够的远见和风险意识，而不是看着币圈的暴富神话。传统企业程序员明明都不了解币圈的玩法，就贸然进入做发财美梦。你的代码只是让你比别的老韭菜胜率增大些的工具，而不是对币圈啥都不懂人的傻瓜式赚钱工具。

赚钱的机会稍纵即逝。 币圈要想通过技术赚钱，一定需要深厚的技术积累，看到好项目好机会，立马动身研究写代码，给你的时间可能都没有十来分钟，搞定了就是波大的。

固定模式的不一定赚钱，一般都是新发现的，从未有人涉猎的才赚大钱。

通过技术开挂赚钱要基于目前行情好的基础上才能展开，去年的时候真的是遍地黄金，只要你稍微会点代码都能赚不少。今年感觉就非常内卷，但是今年也不是说没有赚钱的路子，只是可能金钱的门槛变高了不少，现在光有技术已经没啥用了，还得要有钱。去年才是真正用技术以小博大，一波发家致富的好时机。

一定要善于学习，不断发现新东西。核心是要一直保持关注，不要幻想莫名冲一个项目就致富这件事

### 信息

当科学家冲新，信息很重要，信息是关键，技术只是扩大你的收入。

多关注推特和 discord，一般新的项目都是这两者比较多。

还有多关注链上数据的挖掘，例如 3ac，a16 那些鼎鼎大名的机构的钱包。

一天抽时间研究 5 个项目，好的就加入社区跟踪起来，干一个月应该上道了。

### 找现成代码

有些程序员是真的勤快，代码都给你写好开源在 gayhub 了

有时候把项目的合约直接丢 gayhub 里面搜，就可以看到很多现成的代码

拿来用吧，省得自己麻烦了，反正都是程序员，代码大家都看得懂，也不怕后门

想赚钱一定不要有技术偏见和倔强，有些程序员会有代码洁癖，不喜欢用别人的代码，觉得很 low，非要自己写，想显示自己技术强，大可不必，等你写好，可能行情都过去了，时间就是金钱，必须要迅速

### 打工

而且币圈赚钱是有正反馈的，一旦你抓住了一波，后面就会越来越顺，你想啊，你抓住了一波，有资金了，以后资金对你而言也没有门槛了，然后你又自由离职了，时间也充裕了，就会有越来越多时间抓住一些机会

打工影响暴富

要是还在 996 上班，又没钱的，今年怕是抓不到暴富机会了

### 薅羊毛

得跟着行情来，牛市就好好看项目炒币，什么在热点风口上就炒哪个，撸毛做项目钻研技术适合熊市干。

这个市场每年都会有很多人进来也有很多人出局，能熬下来，在熊市静静撸毛的，都暴富了。

我的逻辑是，撸毛我也会撸，但是我一定会避开内卷大军，会内卷的毛一定没有撸的价值，行情不好的时候，很多人离场，才是去发现好项目撸毛好机会。

### gamefi

gamefi 要看团队还有经济模型，要是经常修改规则，国人团队的，直接略过，然后看经济模型，有消耗，有赌博，币本位，这种能稍微玩久些。国人的也不一定垃圾，国人的项目可以买币做波段，但不适合去玩游戏

gamefi，你主要要问清楚，你赚的钱到底是谁的钱。如果大家都在想几天回本的事，那结果就是几天就崩

gamefi 经济模型都已经升级过好几轮了，现在金本位的我已经几乎不看了，金本位的游戏可以买币做波段，一般币价容易涨，但是玩游戏的话就容易被坑。金本位目前已经好多游戏证明是长久不了的

在 gamefi 崩盘前，再好的画质都不顶用

头部 gamefi 还是值得去玩一玩

### NFT

不要只会闭门搞技术，nft，我记得是今年 7 月份开始火的，那时候才是最好的时候，随便 mint 都能赚好几倍，那时候都没多少科学家搞 nft 的 mint，很多人连 flashbot 都不会用，每天就推特、discord 找最新最火的 nft 项目，轻轻松松获利

而现在，nft 都已经凉了好久了，我认为现在 nft 并不是赚钱的好领域，现在整体行情都不太行。

### 当黑客

能有做黑客的能力，还不如发跟热点发仿盘项目，不 rug，做出来给市场玩

可以匿名发仿盘项目。一般区块链项目，大家都能同意项目方（开发者）自己保留一部分额度

做黑客的话，不要以为简单，数额太小你看不上，数额太大怕你洗不走

不要以为 tornado 这种完全可以匿名，你数额小的话还好，数额大的话，根据一些特征还有最终流入地址可以大致跟踪出来的

之前慢雾抓到个从 tornado 跑走的黑客

数额如果巨大的话，通过多方合作还有不少方法可以找到人的，比如查看黑客使用的地址之前是否有 ip 登陆 etheraacn 查询过

二、法
---

“法“是指策划制定符合事物规律、规避风险和实现愿景的目标、方法、方案、行动路线

程序员可以通过编写代码，跳过前端页面，设计规则，直接和区块链进行交互，来达成想要的结果。社区对不同场景进行过讨论，总结如下，部分需要有一定的背景知识才能读懂。

### web 风控

web 风控有查 IP、设备指纹算法、CloudFlare

一般的买节点然后换换 IP 就可以。也可以接第三方的 IP 库。为了获取过风控接口数据，可以用那种垃圾的海量 IP。为了长期使用来维护账号的固定 IP，舍得花钱的话就 luminati 租，911 和 s5 也可以，每个月几刀。

过设备指纹算法，简单的可以用 chrome 自带的多 profile，可以隔离 cookie，但还是有被检测到的可能。专业的可以用指纹浏览器，每个配置指向不同的代理端口。

CloudFlare 的风控可以使用 CloudFlare 自家的 pages 服务，用自己家的矛戳自己家的盾。用 Pages 代理走一成流量。

### 养多号

养号的原因是，很容易被风控，要求认证手机号，而且 GV 这种号还不行

注册：Discord 可以用 Gmail 注册，推特可以用 GV。用接码平台容易被人改绑，不靠谱。也可以直接去淘宝买海外电话卡来注册。可以尝试的还有移和多号、无忧行香港号、无忧行 app、易博通、腾讯微小号等。GitHub 上还有批量注册 Discord 的代码可以参考。

操作：可以用 chrome 分身并写代码把类似 canvas 的特征去掉，或者直接用指纹浏览器。然后用 playwright 或 selenium 来群控，也可以直接抓 Discord 的接口发消息。无法技术解决的可以花几百块钱找大学生来点。

### 签名

Metamask 弹出的签名，除了模拟点击，也可以直接用 web3 的 签名方法去签名然后 Post

签名的内容，推荐直接去 Dapp 的源码里面去拿，或者把页面下载下来去查找。

签名的算法有多种，需看看小狐狸文档。

Post 的目标地址，如果开源就直接去源码找。如果没有源码，可以在扩展插件里找到 metamask，有个查看视图 background.html，会出来个开发者工具，里面就是 metamask 的请求。

### 监听

监听可以用来判断是否有合约创建，添加了流动池，或者交易跟单。

监听事件可以用 etherscan/bscscan API，但是有频率限制。

监听 mempool，公共 RPC 都不提供内存池，得自建。也可以用 blocknative 的服务，但是贵

### 查历史记录

历史记录主要用来做数据分析

可以用 [bitquery](https://graphql.bitquery.io/ide/xhpalmYmQW) 按条件查询

可以自建节点查询。以太坊节点拿双核 4G 机器都能跑，对于 bsc 不推荐自建，tps 比较高处理不过来

tokenview 在卖多链的全套服务，价格不便宜，适合后端使用，并且自己还要做缓存

相比 etherscan、 bscscan 的会员，不如买 nansen

### 白嫖 Key

infura 有限制，但可以白嫖，有几种方法

1.  去 Github 一搜一大堆，用别人的
    
2.  那 zapper 或者小狐狸的 infura
    
3.  自己多申请一些做轮询
    

### 抢购

讨论过两种抢购，一种是商品上架抢购，一种是合约写好时间的申购

对于商品上架抢购：挂单和扫货可以在一个区块，一般都是相同 gas 做，但是不一定中，可能会排在挂单前面，而且需要节点速度快。通常是在后一个区块拼竞价。选用哪种方法主要看实际情况，比如是否有同行竞争。

对于合约写好时间的申购：建议提前几秒一直发送交易，手动做 nonce +1，浪费点 gas 可以保证每个区块都能挤进去。

### 闪电贷

闪电贷只是指最终实施时候用到了闪电贷，但是攻击本质还是合约有漏洞，有利可图。难点是挖掘这种攻击机会

[闪电贷套利](https://www.quicknode.com/guides/defi/how-to-make-a-flash-loan-using-aave)的例子，有兴趣可以在测试网上玩玩

另一个[闪电贷套利的教程](https://blog.infura.io/build-a-flash-loan-arbitrage-bot-on-infura-part-i/)

### 碰撞私钥

从数学上来说很难，像在海滩上找沙粒

从人入手最简单，比如监控手机钱包剪切板之类的

碰 bip39 或 bip44 里常用单词的助记词更靠谱一些

有碰私钥的计算能力，直接挖矿保证赚更多

### 随机数漏洞

扳手腕之前有随机数 bug，开卡随机数是用的当前区块信息，如果用合约去执行开卡，如果根据当前区块信息计算出来的卡不是高星的，直接中断后续代码执行。后来采取了发 nft 不在同一个区的方案，避免了这个 bug

主网的狼羊游戏之前也有过随机数漏洞。可以通过 flashbots 去 mint 然后 stake，如果 mint 出来不是指定的动物，stake 就会失败，两笔交易就会一起失败。只有主网的游戏才能用这个方法

### 私钥救援

群里出现过两次私钥泄露，一次是在 GitHub 上传了私钥，另一次是用了 Dapp 网站生成的公私对

私钥被泄露后，转进去的 ETH 和其他有价值的币马上就会被清道夫转走

黑客使用了 [Permit](https://docs.uniswap.org/protocol/reference/periphery/interfaces/IERC721Permit) 来授权，并用 [flashbots](https://github.com/flashbots/searcher-sponsored-tx) 代付手续费打包交易，转移了 UniV3 NFT 资产

后来社区成员在 ENS 和 PSP 发空投时，通过 flashbots 在同一区块里领取空投并马上转移，拯救了被泄露私钥钱包的空投。 [参考代码](https://github.com/script-money/ens-claim-flashbot-example)

私钥上传时一定要注意放在 .env 中。如果是 vps 上跑程序，不要用明文的私钥，自己设计个复杂的加解密的算法。

三、术
---

具体策划制定具体实施的技术层面的方法、技巧，以有效的做好每一件事

大多数的问题可以通过谷歌和文档找到，少数问题不好找，需要一定的技巧和经验。这部分可以大概看一下，遇到相似问题就有思路解决。

### 解析交易 Input Data

对于没有开源的合约，需要自己手动解析 Input Data。

比如这样一段的 data：_0xa9059cbb000000000000000000000000b8790157b2e27f2a81d3ca72752fd1a46b87c9940000000000000000000000000000000000000000000000000000000000000001_ 进行拆分，前面 4 字节（除去 0x）是方法，后面 32 字节，32 字节这样拆 拆开就是： \_0xa9059cbb（MethodID）

0xa9059cbb（MethodID）这个方法是什么，可以无视，能直接复用就行，直接看后边猜猜是什么。也可以搜索一下类似的，现在几乎没原创合约。

[_0_](https://script.money/post/033-web3_coder_dfsq/000000000000000000000000b8790157b2e27f2a81d3ca72752fd1a46b87c994)_:000000000000000000000000b8790157b2e27f2a81d3ca72752fd1a46b87c994_ 这个一看就知道，是个地址 [_1_](https://script.money/post/033-web3_coder_dfsq/0000000000000000000000000000000000000000000000000000000000000001_)_:0000000000000000000000000000000000000000000000000000000000000001_ 这个靠经验看，就是 16 进制的数量了

只要有网站，就能拿到 abi，拿到 abi 后用函数加上入参类型，sha3 哈希下，前四个字节就是调用的函数

方法名和参数，小狐狸发送交易的时候也会有提示

实在找不到，调用的时候方法名可以直接写 0xa9059cbb 也可以

> 更详细的可参考[以太坊 Input Data 解析](https://www.163.com/dy/article/GMBJHUQB0531I6Y1.html) 和 [我们为什么需要交易数据?](https://www.sohu.com/a/298453584_100195591)

### 数值转换

Q: 这个要怎么转换：_“amount”:“0x0233c8fe42703e800000”_，16 进制转 10 进制

A: 0x0233c8fe42703e800000 == 10400000000000000000000 去掉 Deciamls 18 == 10400

A: `ethers.utils.formatUnits("0x0233c8fe42703e800000", 18)`

### 合约间交互

有人把「发 mint 交易-查 id-判断-取消交易」 的逻辑做成了合约用于开盲盒，中间会涉及到智能合约中调用字节码。

合约间调用，直接用 [call](https://solidity-by-example.org/call/) 调用即可。

还有个 delegatecall 方法，类似 call。不同的是 A 合约 delegateCall B 合约时，可以使用 A 合约的存储、msg.sender 和 msg.value

### 前端数字更新

Q: 页面上有个数字一直在变动（该数字是质押挖矿后，待收获的矿币数量）。我想知道这个数字是由前端页面的哪段代码来负责更新的呢，有没有思路？

A: [FarmStakingCard.tsx](https://github.com/pancakeswap/pancake-frontend/blob/96e8e5b85e0a5555032ae8e30340b0a4d0df4e39/src/views/Home/components/FarmStakingCard.tsx#L70)

### swap 分析

Q: 如何获取交易对

A:`var pool_address = await uniswapFactory.methods.getPair(input_token_address, out_token_address).call();`

Q: uniswap router 上的 swap function 沒有要输入 slippage tolerance， 那如果用 web3 交互应该怎么调这个参数？

A: minOutputAmount，最少也要换到这么多币，slippage tolerance 在发送转账的时候实际上也是被转换成了这个，只是用 slippage 更直观

### opensea 相关

Q: opeasea 如何点赞？

A: 先签名 login。然后拿到 token，存下来。带上 token ，拼个请求 post 过去就行了。你可以走一遍流程，看看自己签出来的和小狐狸签出来的一样不一样。

### metamask 自动登录

Q: selenium 怎么让 metamask 来登录的？

A: `Google\ Chrome --remote-debugging-port=9222 --user-data-dir='~/ChromeProfile'`直接用 chrome app 开一个 debug port (即先登录好 metamask，程序再 attach 到浏览器)

A: 点击按钮弹出小狐狸后，可以轮询窗口获取到小狐狸

### sol 相关

Q: 请教下，solana 中的 uint8 array 格式的私钥， 怎么通过 javascript 变成 sollet， mathwallet 等钱包支持的私钥格式呢？

A: ``const keyOutput = isArrayFormat ? `[${[].slice.call(wallet.provider.account.secretKey)}]` : bs58.encode(wallet.provider.account.secretKey); bs58.encode`` 在一个 solana 钱包的 GitHub issue 看到的。

Q: 话说 solana 上，只是转一下 token，咋这么麻烦？getOrCreateAssociatedAccountInfo， 这都啥玩意？

A: 它的账户体系，是每个代币都有自己的合约地址和收款地址，一开始真的好多人转账出错 现在是统一账户，但是实际上你转账，是要转给目标账户下跟这个 token 相关的账户 现在改成 如果你账户里已经生产代币的收款地址 那么就是获取地址转账 如果没有就帮你生成一个 再转账 你去 explorer 看就知道了，A 转给 B，实际上是 A 地址跟 Token 关联地址转给 B 地址跟 Token 关联的地址。 所以你看代码，他首先获取了 mint 这个玩意，用它来取得 A 和 B 地址下 跟 token 相关的子地址，然后作为参数去转账的。

A: 我说下 sol 链的理念，按照这个去想，有些事就能想明白了，sol 你把他想成一个 Linux 系统，里面所有的地址就是你系统里的文件，所有信息都是存在不同的地址里的，这些地址生成的 owner 就是文件信息的所有者。按照这个理解，比如你创建了一个钱包地址，这个就是你的 root 身份，你有不同的文件需要存储，对应于 sol 上就是你有多个币需要存放，那就是多个不同的地址，地址由 mintAddress 和你当前的钱包地址计算得出

A: spl 我觉得就像是 sol 官方出的 openzeppelin，很多合约进行标准化了。sol 和各种 token 的转账，都是通过系统内置的一个 program 来转账的。官方提供了很多的 programid，这些就像标准函数库，你就直接构造他们需要的参数直接调他们就行了

### web3js & ethersjs 相关

与 web3 相比，ethers 执行合约函数极其简单，它封装了很多细节，只需要:

1 实例化合约: `contract = new ethers.Contract(合约地址, 合约 abi, provider);`

2 使用钱包对合约进行签名: `contractWithSigner = contract.connect(wallet);`

3 调用合约函数: `tx = await contractWithSigner.函数 A(参数 1，参数 2);` 这样就可以与链上合约进行交互了，进行质押、转账、swap 等。 不需要像 web3 一样手动设置 from to value data 等交易参数

Q: transfer 和 web3.eth.sendSignedTransaction 还有 methods.myMethod.send 这些有什么区别

A: [sendsignedtransaction](https://web3js.readthedocs.io/en/v1.4.0/web3-eth.html?highlight=sendSignedTransaction#sendsignedtransaction)， 一个是合约内函数，一个是 web3 提供的访问 ethereum 的方法

Q: 有没有计算 gas 的好方法，用 gasEstimate 的结果和 metamask 的不同

A: Metamask 大概乘了个 1.5

Q: 转账出现 invalid sender 错误

A: ethereum-tx 在 bsc 上要自己定义一个 forCustomChain

### nonce 处理

Q: 如果我有笔交易 nonce 是 1 pending 中，然后又产生一笔交易 nonce 是 2 跟着 pending，如果我这个时候手动指定 nonce 为 1，抬高 gas price，是不是也没法成功冲掉前面两笔交易了？

A: nonce == 1 的交易会成交， 之后 nonce == 2 的交易如果 gas price 够的话 也会跟着成交，evm 链的都是这样的

Q: 在 metamask 里没法发起 nonce 为 1 的交易了，用 web3.py 去发起个交易倒是会提交成功生成 tx hash 但是老是不成功

A: 重新构造一笔交易，和以前的那笔交易数据一致就行，nonce 和卡主的那笔交易一样， gas 提高一点，这样可以覆盖掉前面卡住的交易

Q: 程序批量发了 10 个交易 nonce 在累加。然后一直不上链， 我等了一会以为卡住了。这个时候 我发了一个 高 gas，nonce=第一笔交易，然后卡住的 10 个交易， 瞬间就打出来了。是怎么回事？

A: nonce 必须一次确认 比如现在 10 没确认， 10 后面的 nonce 都不会得到确认。要依次确认，只要第一笔卡住了，后面就都卡住了。相同的 nonce 被覆盖的交易不会消耗 gas，不会上链的。

四、器
---

在做事时使用适宜的工具器具，以保证达到“术”的结果，提高“术”的效率

### React vs Vue

框架只是工具，自己擅长最好

React：1. 海外区块链项目基本都是 react,有很多代码可以参考,比如 uniswap-interface； 2. 岗位需求大； 3. react hooks 上手快

Vue： 1. 包体小，省 CDN 的钱；2. 一看就是国产项目

### Rust

SOL、ICP、DOT、NEAR 的开发都是用 rust

[学习 rust 的教程](https://serokell.io/blog/learn-rust)

### Solidity

IDE 推荐用 [Remix](https://remix.ethereum.org/)

[Capture the Ether](https://capturetheether.com/) 是一个游戏，在这个游戏中，你要入侵以太坊智能合约，以了解安全问题。

辅助参考资料： [解答 1](https://cmichel.io/capture-the-ether-solutions/) [解答 2](https://www.anquanke.com/post/id/154104#h3-9) [解答 3](https://celebrusadvisory.com/smart-contract-exploits-part-3/) [解答 4](https://xz.aliyun.com/t/2718)

### flashbots

用来打包交易和避免失败的神器

有群友用来领取私钥被泄露钱包的空投

flashbots 对矿工是有利的，有 80%+的矿池都支持了，有专有的 API [文档](https://docs.flashbots.net/flashbots-auction/overview/)

官方制作的手把手教编写 flashbots 发送交易的[视频](https://www.youtube.com/watch?v=1ve1YIpDs_I)

### 反编译工具

反编译整个合约 [ethervm](https://ethervm.io/decompile) 查找函数名 [4byte.directory](https://www.4byte.directory/signatures/)

### 合约调试

Q: 问一个问题。现在有什么好用的智能合约调试器吗？类似通用 ide 的

A: hardhat 可以打 console.log，还行

Q: 话说除了 remix 这种在线的，合约的开发与编译调试有本地的工具吗？

A: truffle compile

### VPS

Q: 性价比比较高的服务器商，都有哪些啊，国外的

A: contabo（用国外的邮箱注册、美西最快）、linode、datapacket、hostloc、hetzner

### 批量转账工具

[disperse.app](https://disperse.app/) banteg 开发好现成的了，直接用就行。省很多的 gas，转越多省越多

去其他链用的话，我就直接拿他的 code 去其他链 deploy 一下，都不需要编译了

### 指纹浏览器

指纹浏览器就是一个浏览器可以开几百个指纹不一样的独立应用，自动生成字体，系统语言这些指纹信息的一套环境

免费的可以试试 Ghostbrowser，免费可以开 3 个 session 好像

刷 coinlist 用 adspower 指纹浏览器，价格还可以，50 刀 200 个号

### 生产电脑

Q: 想买个 mac，请问大家是推荐 M1 还是 intel 的，主要开发用

A: 前端买 M1 可以，后端用兼容性不行，各种包安装很麻烦。

A: 我是 air，拿 m1 咖啡厅可以待一天

A: 我有 mac 也有 win 的台式机，讲道理，我觉得用起来都差不多，在家台式，出去都是 mbp

### 邮箱注册

Q: 有什么好用的邮箱， 可以生成很多个子邮箱那种。 大佬求推荐个

A: 这是个简单好用的[邮件转发系统](https://github.com/huan/docker-simple-mail-forwarder)，两行代码就能跑起来，我用这个，注册了一大堆 discord

A: 用了下谷歌的 add+无限邮箱 还可以

A: 直接用谷歌手机注册真实的 gmail 账号、ip 够干净可以无限注册不要手机号

### 节点服务

节点就那几家有卖的，infura，quicknode，alchemy，ankr，你花钱给他，他给你个节点地址，包括 wss 都有

自己跑节点至少 500-1t 的 ssd，你还很折腾

blocknative 专门做 mempool 的，是贵，但是真的特别及时

节点服务都很贵，如果量大，自己搭划算一些

---

*Originally published on [scriptmoney](https://paragraph.com/@scriptmoney/web3)*
