查看原文
其他

@开发者,这个 GitHub 项目可以褥羊毛!

阿文 CSDN 2020-02-25

作者 | 阿文

责编 | 郭芮

出品 | CSDN(ID:CSDNnews)

给开发者送福利,免费送将近 10000 人民币?

GitHub 有一个区块链项目 Handshake 正在面向GitHub 上前 25万名开发者派送 4,246.99 HNS币。大约价值 1358.56美元,换算成人民币则是差不多近1万元人民币。
那么,怎么才能薅到这么让人惊喜的羊毛呢?



了解该项目


在准备薅这个羊毛之前,我们首先了解下什么是 handshake,handshake 是一个开源的项目,其目前是一个实验性的对等根命名系统。这是官网的介绍,其官网https://handshake.org/。
如果你了解 DNS,你一定知道,我们现在所使用的 DNS 系统,是一个树状的结构,DNS 服务器根据域名的层级,进行分级查询。每一级域名都有自己的NS几率,NS记录指向该向该级域名的域名服务器。这些服务器知道下一级域名的各种记录。
所谓分级查询,就是从根域名开始,依次查询每一级域名的NS记录,直到查到最终的IP地址,过程大致如下:
  • 从根域名服务器查到顶级域名服务器的NS记录和A记录(IP地址);

  • 从顶级域名服务器查到次级域名服务器的NS记录和A记录(IP地址);

  • 从次级域名服务器查出主机名的IP地址。

当我们访问一个域名时,比如 www.baidu.com,DNS服务器会把域名解析到一个IP地址,然后在此IP地址的主机上将一个子目录与域名绑定。域名解析时会添加解析记录,这些记录有:A记录、AAAA记录、CNAME记录、MX记录、NS记录、TXT记录等等。
  • A记录: 将域名指向一个IPv4地址(例如:94.1.122.10),需要增加A记录;

  • CNAME记录: 如果将域名指向一个域名,实现与被指向域名相同的访问效果,需要增加CNAME记录。这个域名一般是主机服务商提供的一个域名;

  • MX记录: 建立电子邮箱服务,将指向邮件服务器地址,需要设置MX记录。建立邮箱时,一般会根据邮箱服务商提供的MX记录填写此记录;

  • NS记录: 域名解析服务器记录,如果要将子域名指定某个域名服务器来解析,需要设置NS记录;

  • TXT记录: 可任意填写,可为空。一般做一些验证记录时会使用此项,如:做SPF(反垃圾邮件)记录;

  • AAAA记录: 将主机名(或域名)指向一个IPv6地址,需要添加AAAA记录;

  • SRV记录: 添加服务记录服务器服务记录时会添加此项,SRV记录了哪台计算机提供了哪个服务。格式为:服务的名字.协议的类型;

  • SOA记录: SOA叫做起始授权机构记录,NS用于标识多台域名解析服务器,SOA记录用于在众多NS记录中那一台是主服务器;

  • PTR记录: PTR记录是A记录的逆向记录,又称做IP反查记录或指针记录,负责将IP反向解析为域名。
~$ dig www.baidu.com

; <<>> DiG 9.11.3-1ubuntu1.10-Ubuntu <<>> www.baidu.com
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 6701
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;www.baidu.com.            IN  A

;; ANSWER SECTION:
www.baidu.com.        14  IN  CNAME   www.a.shifen.com.
www.a.shifen.com.    157 IN  A   180.101.49.12
www.a.shifen.com.    157 IN  A   180.101.49.11

;; Query time: 0 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Tue Feb 18 11:11:18 CST 2020
;; MSG SIZE  rcvd: 101
目前世界上共有13台根域名服务器,我们使用dig 命令可以查看,这些服务器分布在全球,1个为主根服务器,放置在美国。其余12个均为辅根服务器,其中9个放置在美国,欧洲2个,位于英国和瑞典,亚洲1个,位于日本。
dig

; <<>> DiG 9.11.3-1ubuntu1.10-Ubuntu <<>>
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 21161
;; flags: qr rd ra; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 65494
;; QUESTION SECTION:
;.                IN  NS

;; ANSWER SECTION:
.            515317  IN  NS  m.root-servers.net.
.            515317  IN  NS  i.root-servers.net.
.            515317  IN  NS  j.root-servers.net.
.            515317  IN  NS  k.root-servers.net.
.            515317  IN  NS  l.root-servers.net.
.            515317  IN  NS  d.root-servers.net.
.            515317  IN  NS  e.root-servers.net.
.            515317  IN  NS  h.root-servers.net.
.            515317  IN  NS  g.root-servers.net.
.            515317  IN  NS  b.root-servers.net.
.            515317  IN  NS  a.root-servers.net.
.            515317  IN  NS  f.root-servers.net.
.            515317  IN  NS  c.root-servers.net.

;; Query time: 0 msec
;; SERVER: 127.0.0.53#53(127.0.0.53)
;; WHEN: Mon Feb 17 19:40:22 CST 2020
;; MSG SIZE  rcvd: 239
那么问题来了,如果哪一天根服务器挂了,怎么办?事实上根服务器在历史上确实遭遇过攻击,在2002年的10月21日美国东部时间下午4:45开始,这13台服务器又遭受到了有史以来最为严重的也是规模最为庞大的一次网络袭击。
此次受到的攻击是DDoS攻击,超过常规数量30至40倍的数据猛烈地向这些服务器袭来并导致其中的9台不能正常运行。7台丧失了对网络通信的处理能力,另外两台也紧随其后陷于瘫痪。
第二,就算没有遭受攻击,由于根服务器在美国,各个国家也是受制于人,因此各个国家都将根服务器进行镜像,以防止根服务器故障导致网络瘫痪,2019年6月24日,工信部同意中国互联网络信息中心设立域名根服务器及运行机构。工业和信息化部发布关于同意中国互联网络信息中心设立域名根服务器(F、I、K、L根镜像服务器)及域名根服务器运行机构的批复。根据工信部的公告,工信部同意中国互联网络信息中心设立域名根服务器(F、I、K、L根镜像服务器)及域名根服务器运行机构,负责运行、维护和管理编号分别为JX0001F、JX0002F、JX0003I、JX0004K、JX0005L、JX0006L的域名根服务器。
此外,当前的DNS 服务还存在一些弊端,例如DNS污染等问题。其顶级域最终依赖于中央角色,他们对系统的完全控制权是诚实的,因此他们很容易受到黑客攻击,审查制度和腐败行为的侵害。
而这个项目就是解决传统 DNS 所存在的问题,通过区块链技术来实现将根服务器的角色分散开来。该项目旨在探索一些新技术和新手段,以这些必要手段来构建更加分散的互联网。从1990年代开始,互联网上的服务已经变得更加集中,但是并不能实现互联网最初的分散化愿景。

如何薅羊毛?


好了,项目介绍完了,事实上该项目从包括A16Z和红杉资本在内的硅谷顶级投资者筹集了资金,为了吸引一些开发者加入,于是利用GitHub 天然的优势给GitHub 前25万名开发者发放福利。
项目称 github上的前25万名用户的SSH密钥和PGP已添加到 merkle树中。在大约250,000个用户中,有大约175,000个用户在创建树时具有有效的SSH和PGP密钥。
以下是该项目的运行说明:
The top ~250,000 users on github have had their SSH keys and PGP added to a merkle tree. Out of those ~250,000 users, ~175,000 of them had valid SSH and PGP keys at the time of tree creation.

If you had 15 or more followers on github during the week of 2019-02-04, your github SSH & PGP keys are included in the merkle tree.

Likewise, roughly 30,000 keys from the PGP WOT Strongset have also been included in the tree.

As a final addition, Hacker News accounts which are linked with Keybase accounts are included in the tree provided they were ~1.5 years old during the crawl.

This merkle tree is computed and its root is added to consensus rules of the Handshake blockchain, allowing the owner of a key to publish a signed merkle proof on-chain in order to redeem their airdrop.

With the final mainnet key list, every open source developer will receive 4,246.994314 HNS coins from the airdrop.
简单中文翻译下就是你的GitHub 有大于15个followers,可以在个人主页看到,如图所示:
然后GitHub需要绑定 SSH 公钥,并且本地能够通过SSH 的方式访问。
更具体的说明,大家可以看 https://github.com/handshake-org/hs-airdrop。
下面我说下具体的操作步骤,首先你需要准备:
  • 安装git
  • 能够访问外网,例如 Google
  • nodejs >  >= 8.0.0
  • github 有绑定ssh公钥
  • GitHub帐户的有添加 SSH密钥
  • Node.js> = 8.0.0
  • 拥有钱包地址,在 https://www.namebase.io/airdrop 注册即可获得 (需要能访问外网)
1.首先,克隆项目:
git clone https://github.com/handshake-org/hs-airdrop.git
2.克隆完项目后,执行:
cd hs-airdrop && npm install
3.然后执行:
./bin/hs-airdrop <path to key> <address> <fee>
  • <path to key >是你本地可以访问GitHub 账号的ssh密钥;
  • <address>是你的钱包地址,在https://www.namebase.io/airdrop 查看文档获取;

  • fee 是给矿工的补偿,输入0.010即可。
如果你符合条件,最后会返回一串base64的编码,如图所示:
在  https://www.namebase.io/airdrop 末可以看到:
在这里粘贴进去即可,提交申请大约半小时即可到账。如果你不满足条件,则会告诉你在查不到你的key。
作为开发者,如果你满足条件,不烦去试试看哦。这个羊毛还是蛮值得一试。
【End】

推荐阅读 
 抗疫新举措,本周内你也能用上健康码!
无人机小区上空盘一圈测体温,背后技术靠谱吗?
几行代码构建全功能的对象检测模型,他是如何做到的?
疫情之下,哪些行业正在逆势爆发?
早期文献中的关系抽取论文整理,赶紧 Mark 起来!
一文读懂拜占庭将军问题
你点的每一个在看,我认真当成了喜欢


猛戳“阅读原文”,填写中国远程办公-调查问卷

    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存