MacOS 上 用Anaconda 安装官方 steem-python,开发 python版本的 steem 机器人

in #zzan5 years ago (edited)

Anaconda的好处是,跨平台管理 python开发环境, 不管你是windows开发者,还是linux/mac的开发者,基本操作都差不多.
anaconda.jpeg
本帖以苹果电脑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
打印出的信息:
屏幕快照 2020-01-29 下午5.29.20.png

Sort:  

#zzan 发布的? 有奖励吗?

我看这个项目的Github更新不是最近的啊?

!shop

你好鸭,downvoter!

@lvziyun给您叫了一份外卖!


夏日必备冰淇淋

吃饱了吗?跟我猜拳吧! 石头,剪刀,布~@jjprac jjprac 迎着闪电 开着拖拉机 给您送来

如果您对我的服务满意,请不要吝啬您的点赞~
@onepagex

paper


You lose! 你输了!乖乖的给我点赞吧!

 5 years ago  Reveal Comment