Anaconda的好处是,跨平台管理 python开发环境, 不管你是windows开发者,还是linux/mac的开发者,基本操作都差不多.
本帖以苹果电脑MacOS为例(windows/linux未验证).
开源的Python包管理器 anaconda :Anaconda是一个开源的Python发行版本,包含conda、Python、numpy、pandas等上百个科学包及依赖包,下载文件比较大(> 500 MB),如需节省带宽或存储空间,可用Miniconda这个小发行版(仅包含conda和 Python),再根据需要单独安装需要的包。
We don’t recommend usage of Python that ships with OS. If you’re just looking for a quick and easy cross-platform solution, feel free to install Python 3.x via easy to use Anaconda installer.
steem-python :是 Steem 官方的 Python 库Steem Python,有一个BIP38加密钱包和一个实用的CLI实用程序 steempy。
steem-python 需要 Python 3.5 以上的版本,这里通过Anaconda 来安装.
MAC 安装 Anaconda3
如果 Anaconda 官方下载太慢,可用清华大学镜像:
$ cd ~
$ wget https://repo.anaconda.com/archive/Anaconda3-2019.10-MacOSX-x86_64.sh
$ bash Anaconda3-2019.10-MacOSX-x86_64.sh
$ source ~/.bash_profile
$ conda activate
(base) ~$ python -V
(base) ~$ pip -V
退出Anaconda3环境:(base) ~$ conda deactivate
Anaconda3 安装 steem-python
$ cd ~
$ conda activate
(base) ~$ conda config --add channels conda-forge
(base) ~$ conda install cryptography
(base) ~$ git clone https://github.com/steemit/steem-python
(base) ~$ cd steem-python
(base) ~$ make install
备注:直接用包安装(pip install steem
),容易出错.
使用 steempy
查看帮助:steempy --help
设置API节点:(base) ~$ steempy set nodes https://anyx.io,https://api.steemit.com
创建本地钱包密码:$ steempy changewalletpassphrase
添加steem账号:$ steempy addkey
查询本地钱包里的账号:$ steempy listaccounts
+-----------+---------+-------------------------------------------------------+
| Name | Type | Available Key |
+-----------+---------+-------------------------------------------------------+
| maxxxxnk | active | STMxxxxxx9dvE |
| manbbbbnk | posting | STM87YzixbssssEDKXfU |
+-----------+---------+-------------------------------------------------------+
设置本地钱包里的默认账号:$ steempy set default_account testdd
设置默认投票比重:$ steempy set default_vote_weight 98
查询本地钱包设置:$ steempy config
----------------------------------------------+
| Key | Value |
+---------------------+-------------------------+
| nodes | https://anyx.io,https://api.steemit.com |
| default_account | testdd |
| default_vote_weight | 98 |
+---------------------+-------------------+
示范一个打印当前最新发帖的机器人(demo.py):
from __future__ import print_function
import sys
from datetime import timedelta
import time
import io
from contextlib import suppress
from steem.blockchain import Blockchain
from steem.post import Post
if __name__ == "__main__":
blockchain = Blockchain()
stream = map(Post, blockchain.stream(filter_by=['comment']))
for post in stream:
print(post)
执行程序:python demo.py
打印出的信息:
#zzan 发布的? 有奖励吗?
我看这个项目的Github更新不是最近的啊?
!shop
你好鸭,downvoter!
@lvziyun给您叫了一份外卖!
夏日必备冰淇淋
吃饱了吗?跟我猜拳吧! 石头,剪刀,布~由 @jjprac jjprac 迎着闪电 开着拖拉机 给您送来
如果您对我的服务满意,请不要吝啬您的点赞~
@onepagex
paper
You lose! 你输了!乖乖的给我点赞吧!