为什么我要这么做?
笑来老师拥有了自己的永不消失的电波,这种感觉太酷了,我也希望自己拥有一个。
freenet项目的创始人这么说:I worry about my child and the Internet all the time, even though she's too young to have logged on yet. Here's what I worry about. I worry that 10 or 15 years from now, she will come to me and say Daddy, where were you when they took freedom of the press away from the Internet.
于是……
您说您无法访问上面的笑来老师的链接?没关系,按照下面的方式进入zeronet之后,您就可以访问了。期待您的加入,这里是一片崭新的大陆。
zeronet
step1: 在没有任何头绪的情况下,进入zeronet的官网,下载了native app。
step2: 我使用的是mac版。但是发现了一个奇怪的现象,为什么每次点击zeronet的Dock图标,就会新建一个Chrome标签呢?而且会打开奇特的网站。难道是木马程序?
step3: 这个网站上面的各种功能是干什么用的呢?为什么有的页面进去之后会有登录注册的要求?
step4: zeroID是又是个什么东西?有些地方可以clone,网站可以克隆?和git之间什么关系?
step5: 为什么这个会成为一个永不消失的电波呢?它的原理是什么样子的呢?
step6: 果然,这是一个法外之地,在这么一个没有管制的地带,充满着各种色色的东西,也充满着各种『不和谐』的言论。
step7: 陪婆娘散步、聊天、睡觉觉了。
step8: 早上3点多的时候:不行,睡不着,永不消失的电波,嘟嘟嘟嘟嘟……起来搞
上面就是我在接触zeronet之后的感受,脑子里面充满了各种问号。它究竟是什么?它的原理是什么?它有哪些功能?它为什么受到笑来老师的推荐?这篇文章也许不会解答所有内容,但是您可以再这里学习到如何打造自己永不消失的电台。
zeronet ZeroNet domain name registry
瞎逛逛,遇到了这个页面(请进入zeronet的网络访问),里面罗列了很多的已经注册的.bit域名和一组奇怪的乱码之间的映射,同时描述了怎么拥有自己的域名并添加自己的映射。但是,这个映射是干嘛用的?但有一点很清楚,就是我先需要namecoin。之前也对namecoin有所了解,它是用来做分布式的dns的。可是下面这段描述究竟是什么意思呢?别纠结了,先拥有namecoin先。
To register just add 'zeronet' key to your namecoin domain.
The "" key means the primary domain, any other than that is a subdomain. Example:
{
"name": {
"formatted": "ZeroNet project"
},
"bitcoin": {
"address": "1QDhxQ6PraUZa21ET5fYUCPgdrwBomnFgX"
},
"zeronet": {
"": "1EU1tbG9oC1A8jz2ouVwGZyQ5asrNsE4Vr",
"blog": "1BLogC9LN4oPDcruNz3qo1ysa133E9AGg8",
"talk": "1TaLk3zM7ZRskJvrh3ZNCDVGXvkJusPKQ"
},
"ns": [
"ns1.domaincoin.net"
"ns2.domaincoin.net"
]
}After the changes confirmed by Namecoin network the domain will automatically
added to the registry and anyone can access your site using the registered domain.To make the homepage (ZeroHello) link to your site domain you have to add a "domain" key to your site's content.json file, for example:
{
"address": "1TaLk3zM7ZRskJvrh3ZNCDVGXvkJusPKQ",
"background-color": "#F5F5F5",
"description": "Decentralized forum demo",
"domain": "Talk.ZeroNetwork.bit",
"files": {
...
namecoin
step1: 不管三七二十一,先拥有自己的namecoin。
之前通过namecoin的客户端尝试着挖矿,但没有任何收益。后来知道,原来namecoin和bitcoin通过merge挖矿的方式合并挖矿了。想要通过自己挖矿的方式拥有namecoin太难了,果断放弃。
step2: 上数字货币市场观察网,这是一个很综合的货币行情查看网站,里面罗列了很多的货币价格及交易所信息。找到哪些交易所出售namecoin。poloniex.com有售!这个交易网站还是比较靠谱的。不过笑来老师们的big.one上面还没有namecoin就略显遗憾了。
step3: 注册poloniex账号。幸好我自己拥有一些bitcoin,就直接充值bitcoin,购买namecoin。如果您没有bitcoin,您可以在场外交易所购买一些bitcoin,但记得选择靠谱的卖家,多看看他的交易历史和信誉,第一次交易量不要选择太大。然后您还得学会如何使用比特币钱包。
step4: 下载namecoin客户端,提现namecoin到namecoin钱包,和比特币钱包一样,因为它就是基于比特币扩展出来的。哇哦,终于拥有了自己的namecoin。
step5: 注册.bit域名,通过namecoin的wiki很容易学习到。在namecoin客户端上有一个ManageNames的功能,直接注册自己想要的域名就行啦。提交后,然后弹出一个对话框,要求输入一个json-value,暂且为空吧,后面会讲解这个json-value怎么输入。哦,首先您得先检查自己想要的域名是否已经被注册了,如果有记录,那么就说明这个域名已经被注册了。
step6: 提交之后,实际上是广播了一笔交易到namecoin的网络上。对,了解区块链的人都应该知道,namecoin通过这种方式明确域名的所有权。耐心的等待12个区块确认吧,大概需要2个小时左右。
step7: 12个确认区块之后,它会自动发送一个新的域名update请求,至于为什么?我现在还没搞清楚,后面在研究。再等待几个区块的确认,这个域名就属于您了。
step8: 可是这个name_update中的json-value究竟是什么意思呢?。通过自己的一番思考,加上这篇文章中的叙述。我明白了namecoin的作用。
namecoin的作用
- 通过类似比特币的区块链不可篡改的技术,以交易为媒介,证明某个域名的所有权。
- 通过区块链的所有权保证确保,只有拥有域名的人才可以修改域名在区块链中的value信息。
- 通过value值,记录该域名的相关设置信息。包括:dns等等。当然您可以随便设置任何信息。
最终,您拥有了自己的域名(字符串),您可以对这个域名设置任何属性信息。第三方会去解析namecoin的链上信息,读取它们能够理解的属性信息。
namecoin在zeronet中的作用
- 当在namecoin的区块链中设置了某个域名的value,如:{"zeronet":{"":"hashcode"}},这个value值是被zeronet认可的。
- zeronet会有一个24小时360天不间断的服务,持续扫描namecoin的链上信息,读取用户设置的zeronet为标记的对应的内容,并添加至自己的域名注册站点,并分发给所有的节点。
- 上面的hashcode就是在zeronet上创建站点时,zeronet生成的唯一ID。
- zeronet native app接收到域名注册站点分发下来的信息后,将用于本地的解析域名。
namecoin的json-value的作用
如上,namecoin中的json-value就很清晰了。
- 它只能被域名拥有者进行修改,任何第三方都无法修改。不像中心化的域名机构,域名的所有权属于他们而不是你。
- json-value可以设置任何信息,任何信息。因为你拥有它。
- json-value被第三方服务解析,解析他们想要的信息,映射至您的域名上。所以,namecoin不仅仅可以用来做域名解析。它具有无限的可能性。
zeronet永不消失的基本原理
- zeronet基础网络永不消失。zeronet app本地使用BitTorrent网络,它是一个点对点的网络协议。
- 内容不再被中心化存储。当我们使用zeronet app访问站点时,它会将站点的所有内容都下载到本地,自己将成为一个种子,就像小电影一样。所有的站点内容在data目录中,通过上面的那个hashcode为名称的文件夹进行保存。
- 域名映射去中心化。zeronet中被解析域名来自去中心化的namecoin并映射到hashcode完成的。
- hashcode和ip的映射去中心化,hashcode对应的ip地址基于BitTorret,每一个终端访问了节点,节点都将自己变成另一个服务节点。
如此,站点将永存,就像小电影一样。而且越多人保存您的站点,您的站点访问速度就会越快。
创建自己的电台
step1: 了解zeronet的原理后,我们知道,所有站点信息都是存放在data目录下,并通过hashcode分文件夹存放。所以创建自己的电台,只需要创建自己的目录,并分发至zeronet上即可。
step2: 通过zeronet的创建新站点的功能,创建一个新站点,获取一个唯一hashcode。
step2: 通过zeronet的http://127.0.0.1:43110/hashcode就已经能够访问我们的站点了。
step3: 设置域名。通过namecoin的name_update命令将自己的域名信息中设置zeronet解析用的数据,我的是
{"zeronet": {"": "13mVbYkGmEyeA9wBgwhq7fwqY33ynCyYAY"}}
这会产生一笔新的交易发送至namecoin的网络上。
step4: 交易被确认后,就耐心等待zeronet进行namecoin的链上扫描,并将其更新到自己的域名解析表中。这一步之后,就可以通过http://127.0.0.1:43110/yourbitdomain.bit访问到您的站点了。
step5: 如果希望站点有更多的内容,只需要打开zeronet的data目录,找到hashcode对应的文件夹,在里面放自己想要广播的任何内容就可以了,哇咔咔。
step6: 放置内容后,记得在zeronet中,点击我的站点,并在右上角有一个『0』样的图标,向左拖拽、向左拖拽、向左拖拽,不是点击。在里面可以签名发布了。
step7: 分享出去,等待别人的访问并成为您永不消失的电台的一个节点吧。
如何clone zeroblog
step1: git clone [email protected]:HelloZeroNet/ZeroBlog.git
step2: cd data/hashcode then Rename data-default to data
step3: Rename data/users/content-default.json file to data/users/content.json
step4: 同样,在zeronet上签名发布自己的blog。
step5: 再次访问自己的站点,就可以发布自己的博客了。
记得来找我:aijinsong.git