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

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

作者 | 阿文

责编 | 郭芮

出品 | CSDN (ID:CSDNnews)

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

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

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

了解该项目

在准备薅这个羊毛之前,我们首先了解下什么是 handshake,handshake 是一个开源的项目,其目前是一个实验性的对等根命名系统。这是官网的介绍,其官网 https://handshake.org/。如果你了解 DNS,你一定知道,我们现在所使用的 DNS 系统,是一个树状的结构,DNS 服务器根据域名的层级,进行分级查询。每一级域名都有自己的 NS 几率,NS 记录指向该向该级域名的域名服务器。这些服务器知道下一级域名的各种记录。@ 开发者,这个 GitHub 项目可以褥羊毛!所谓分级查询,就是从根域名开始,依次查询每一级域名的 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 年代开始,互联网上的服务已经变得更加集中,但是并不能实现互联网最初的分散化愿景。@ 开发者,这个 GitHub 项目可以褥羊毛!

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

如何薅羊毛?

好了,项目介绍完了,事实上该项目从包括 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 项目可以褥羊毛!然后 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  
  1. 克隆完项目后,执行:
    cd hs-airdrop && npm install  
  1. 然后执行:
    ./bin/hs-airdrop <path to key> <address> <fee>  
  • 是你本地可以访问 GitHub 账号的 ssh 密钥;

  • 是你的钱包地址,在 https://www.namebase.io/airdrop 查看文档获取;

  • fee 是给矿工的补偿,输入 0.010 即可。

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

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

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

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

来源链接:mp.weixin.qq.com