(造富机)在Ubuntu 24.04 LTS上运行Hive相关脚本

保守估计十亿身家大佬送我的造富机我一直没能好好利用起来,辜负了当初大佬养猪致富,星辰大海的寄语,对此我一直深表惭愧。

money-6163908_960_720.webp
(图源 :pixabay)

其实在这台机器上也没少折腾,比如测试了Thinkpad T60上的SATA Ⅰ代硬盘,跑个Windows10,磁盘IO都是满载让我知道了太老旧的硬件可以淘汰了。

又比如通过这台机器遇到的一个内存问题,我才第一次知道且最终搞明白了内存密度(RAM Density)到底是啥以及如何计算了。

也是因为这台机器遇到的内存密度问题,我第一次使用了咸鱼购入二手内存,嗯,感觉还不错,价格便宜,交易体验丝滑。

最后又折腾了给它换上了SSD硬盘(WD Blue),又从朋友那搞来了2条DDR3L 4G(共8G)内存条,又手欠折腾把系统升级至Ubuntu 24.04 LTS。

这样看起来,万事俱备,唯独没有和造富相关的内容呢?所以,我决定必须让造富机开始工作,也许永远无法拉近和大佬的差距,但是不要被大佬落得更远。

有啥造富思路呢?我想了一下,很久以前我就发帖强调过HBD利息以及复利作用,如果我们每天发帖收益中的HBD都能及时存成HBD Saving,无疑会将利益最大化。

但是好多年以来,我都是想起来的时候才存一下,甚至有时候HBD Saving利息发放已经过了30天,我还没去触动利息发放,这损失不能说有多大,但是多少还是有一些的,和造富的梦想相去甚远。

那就先在造富机上搞一个自动的HBD存款脚本吧,不过这之前,先要让造富机能运行HIVE脚本呢。

Python虚拟环境的创建

一个首先要做的事情就是在造富机上创建Python虚拟运行环境,这样方便我们折腾,不必担心把主环境折腾得乱七八糟。

找了一下自己以前的日记,发现创建虚拟环境我几乎用过各种方法:

  • sudo apt install virtualenv
  • pip install virtualenv
  • python -m venv .venv

比如这个:sudo apt install virtualenv
1729342501808.png

竟然要在我系统里安装这么多软件包,还是放弃吧!

而使用这个:python -m venv .venv,提示我要先安装python3.12-venv:
1729342289713.png

那就装一下呗:sudo apt install python3.12-venv
1729342455569.png

装完之后再次执行python -m venv .venv,我们要的虚拟环境创建成功。

至于我为什么折腾过好多方法,因为我折腾过Windows、Linux(Ubuntu的各个版本)、树莓派/香蕉派等设备,因为系统环境以及Python版本的差异,有些指令好用,有些不好用呀。

也懒得调查这些指令之间的区别,反正是好用的前提下,哪个对系统修改最少就用哪个。

Python 虚拟环境的进入与退出

创建好虚拟环境后,就需要考虑如何进入到虚拟环境下的问题。

以我们的虚拟环境为例,进入到虚拟环境的指令如下:

source .venv/bin/activate

进入之后,我们可以使用如下指令退出虚拟环境:

deactivate

由于我们经常要在虚拟环境下工作,所以建议编辑.bashrc(vi .bashrc),并在文件末尾添加(source .venv/bin/activate),这样我们只需登录这个账户,就会自动激活Python虚拟运行环境并进入啦:
1729343441803.png

部署Hive Python库

为了便于自己写脚本,我曾自己写了个Python版本的HIVE库,基本上实现了HIVE区块链上的一些基本操作。

所以这个步骤我只需安装自己的Python库就可以啦:

pip install cutehive-0.0.3-py3-none-any.whl

因为这个库距离成熟还有十万八千里的距离,所以并未发布,小伙伴们可以用官方或者第三方成熟的Python HIVE库来完成这步。

修改HIVE节点监听IP

我在家里一台主力机器上运行一个HIVE节点,方便进行一些操作,不过之前家里并无其它机器运行HIVE相关脚本,所以我设置的hived只监听本机连接。

亦即配置文件中设置:

webserver-ws-endpoint = 127.0.0.1:8091
webserver-http-endpoint = 127.0.0.1:8081

为了让造富机上的脚本也能使用这个节点,需要将上述配置修改为:

webserver-ws-endpoint = 127.0.0.1:8091
webserver-http-endpoint = 0.0.0.0:8081

至于为啥webserver-ws-endpoint这个IP没修改,因为暂时没打算在造富机上运行命令行钱包之类的,所以用不到喽。

测试一下

撰写如下测试测试脚本:

#!/usr/bin/env python

import os
import sys
from pprint import pprint

rpc_node = "http://192.168.x.xx:8081"

def main(argv=None):
        from cutehive.hived import Hive
        client = Hive(node=rpc_node)
        pprint(client.get_info())

if __name__ == '__main__':
        sys.exit(main())

运行一下上述脚本,相当于给节点发送如下请求内容:

{'jsonrpc': '2.0', 'method': 'database_api.get_dynamic_global_properties', 'params': {}, 'id': 1}

返回结果如下:

1729416196882.png

成功!万事俱备,接下来我就可以为我的造富脚本而努力啦,敬请期待哦。

你可能会问,既然已经有个主力机在运行HIVE节点,何不直接在主力机上运行相关的HIVE脚本呢?答案是我必须让造富机跑起来呀,沾沾十亿身家大佬的光呢。

Sort:  

感谢O哥分享,十亿身家大佬的致富经验分享,还是得认真看看。。

争取我们将来都成为亿万富豪

🤣好的,为成为亿万富豪,干杯!哈哈ヽ( ̄▽ ̄)وو

!HOPE
!LOL
!INDEED

Did you hear about the alarm clock convention?
Total snooze fest.

Credit: reddit
@oflyhigh, I sent you an $LOLZ on behalf of cryptoyzzy

(9/10)
NEW: Join LOLZ's Daily Earn and Burn Contest and win $LOLZ

(3/5)
@oflyhigh! @cryptoyzzy Wants to spread Hope! so I just sent 1 HOP to your account on behalf of @cryptoyzzy.

Since we think the world can use more Hope, you can now already start spreading Hope yourself!

Hope Logo

(10/10)
@oflyhigh! @cryptoyzzy Totally agrees with your content! so I just sent 1 IDD to your account on behalf of @cryptoyzzy.

Indeed Logo