手把手教你搭建比特币卫星接收节点

手把手教你搭建比特币卫星接收节点,第1张

原文: https://hackernoon.com/building-your-own-bitcoin-satellite-node-6061d3c93e7

比特币区块链实际上是一个账本,所以需要将全部交易信息包含在账本内,从而体现每个比特币的所有权。账本需要在节点之间相互广播,以达到分布式备份账本的目的,这是比特币的关键特征。目前,节点广播几乎完全依赖互联网,这给比特币带来了潜在的「单点故障」问题,降低了整个网络的稳健性和安全性。

例如,海底光缆出现故障,或受政策影响的针对性断网都可能导致大范围的网络断连,从而影响该地区比特币节点的同步,损害比特币的可用性。

同步卫星的出现,减少了比特币对互联网的依赖,使节点同步可以通过接收卫星信号的形式完成。只需要一个卫星天线和一个接收器,就可以接收从卫星传来的区块数据,保持节点同步。同时,这也降低了运行节点的成本,在某些欠发达地区,网络连接费用高昂,使用卫星同步区块数据可以省下网费,让更多人有机会运行节点,从而提高比特币的覆盖率。

国外早有大神自制了卫星接收节点,本文将其整理成简略教程,供大家参考。

首先调节三脚架高低。

然后将卫星盘连接到三脚架上,并调节方位和高低。

然后将高频头安装到高频头支架上。

如果一切顺利,你的卫星天线应该是这样的。

使用 F 转接头将 SDR 连接到高频头电源上,然后使用同轴电缆将高频头也连接到电源上。连接前需要确认电源与 SDR 是匹配的,否则错误的电源将损坏 SDR。

Blockstream 为所需软件提供了预建的二进制文件。

打开「终端」后,输入

回车输入密码,密码是安装时设置的。然后可以看到待更新列表,输入 y,回车。

升级结束后,重启。

在「终端」中,输入

回车后屏幕出现 Is this ok [y/N],输入 y,回车。

完成后,将 Blockstream Satellite 在 Github 的库克隆到本地,创建一个项目。

首先要创建卫星接收器,输入如下命令:

安装好后开始克隆 Github 库

去刚才克隆好的文件夹

现在我们已经准备好所有 gr-framer GNUradio 模组需要的软件了,开始执行安装脚本:

输入密码

创建 gr-framers

恭喜,你已经安装了 gr-framers GNUradio!

现在开始执行 Blockstream GNUradio 安装脚本:

创建 Blockstream 模组

现在已经安装好 Blockstream 模组了。

我们需要设置 PYTHONPATH 和 LD_LIBRARY_PATH,来让接收器正常工作:

到这里,所有关于 GNUradio 的设置都已经完成了!

安装相关软件:

安装 FIBRE 相关软件

现在,克隆 FIBRE 库:

然后去克隆的文件夹:

开始创建:

现在创建 FIBRE

(此处可以添加 -jn 来加速编译,其中 n 是 cpu 核心数。如果你是四核处理器,就输入命令 make -j4)

已完成创建

完成后,开始安装:

FIBRE 安装好了

FIBRE 已经安装好了!你现在可以开始同步,或者将已经同步好的节点复制过来。

到此为止,你已经准备好前期工作,下面开始对齐卫星盘。

Blockstream 目前有 5 颗卫星,确定你所在地区被哪一颗所覆盖。

可在 Blockstram 官网 查询:

本文选择的是 Galaxy 18 卫星。

官网也有对齐工具,你可以输入你的地址或经纬度,它会告诉你如何调整天线的高度、方位和极性。这里是 对齐工具 。

为了得到一个 Galaxy 18 大概的可视化方位,我用了 SatellitePointer 这个 App。

确保在视线的 30 度之内没有建筑、树、或其他遮挡物。理想的视线是这样的:

视线越好,你接收的信号也就越好。

当你已经确定好卫星盘的摆放地点,你可以开始设置方位和高度。

信号质量与高度角密切相关,所以把高度角调节得越准确越好。

当你觉得高度已经调好了,就可以开始设置高频头的方位了。

设置高频头极性有点难办。我用了 SatellitePointer 这个 App 来帮助设置。我把手机的顶边贴近高频头底部的平边(图中红线处),然后看 App 中的指示:

虽然高频头上也有角度器,但是我觉得 App 更方便。

在启动接收器之前,你需要确定卫星的频率,并将其输入 rx_gui.py 文件。之前的教程里已经说过如何查询频率了。我使用的 Galaxy 18 卫星的频率是 12022.85 MHz。

要计算输入到 rx_gui.py 的频率,需要用卫星频率减去你高频头的 LO 频率。本文使用的高频头 LO 频率为 10750 MHz,因此最后的结果是 1272.85 MHz。

需要将 MHz 转化为 Hz,最后结果是 1272850000 Hz。

现在你可以将频率和增益(设为 40 即可)写入文件中,然后运行。

rx_gui.py 文件在 Blockstream 库的 satellite/grc 文件夹中。

当你运行 rx_gui.py 时,会d出一个窗口。我们需要用到 FLL In 这个选项卡。

图形显示波动很大,刷新很快。要解决这个问题,你可以设置一下 average 参数,设为 15 即可。

缓慢地左右旋转卫星盘,观察 FLL In 的变化。我同样用了之前的 App 来帮助寻找方位。

如果你成功了,你会看到如下所示的图表。

现在你需要调整方位(左右)、高度(上下)和高频头的极性,来让信号更好。最后会得到如下所示的图表。

要确认你的信号是好的,你可以到 Abs PMF Out 选项卡,看一下有没有峰值。

你也可以到 Costas Sym Out 选项卡去看散点图。

最后,「终端」会显示:

恭喜!你成功对齐了卫星盘!

输入指令:

可以在 debug.log 文件中看到有没有成功接收区块,如果你看到如下的信息:

那么就已经成功了!

现在,你可以断网,试着只通过卫星来接收区块。

通过编辑配置文件bitcoin.conf增加节点来获得最快的同步速度

将一下节点编辑到bitcoin.conf底部

2021-11-27更新:下面节点可能大部分都失效了,用Python做了一个每12小时爬取节点信息

使用方法:打开下面网址复制节点=>打开Bitcoin软件=>设置=>选项=>打开配置文件=>文本文档打开=>粘贴到最底下!=>保存=>重启Bitcoin

https://www.diuhuo.com/bitcoin

同步钱包的速度还是很可观的,我的带宽是200M

connect=47.56.189.12.8333

connect=47.92.101.39:8999

connect=47.112.122.9:8999

connect=223.166.74.204:8333

connect=118.190.210.209:8333

connect=129.211.99.116:8333

connect=111.199.230.241:8333

connect=180.76.239.66:8333

connect=116.230.185.120:8333

connect=114.85.126.50:8333

connect=47.99.158.238:8333

connect=116.62.123.162:8333

————————————————


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11755711.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存