文:卖鱼的 环境搭建完毕,我们正式开始写代码。 首先我们新建一个PY文件,就随便命名为hello1.py吧。 我们首先来学习学习streamlit这个库。 我们首先输入两行: import streamlit as st st.title("一个钱包") 第一行是加载库,第二行就是显示一个标题的意思。 我们来尝试运行看看,我们打开一个命令行窗口,然后进去文件夹所在目录后输入: streamlit run hello1.py 一般会自动打开一个网页,或者我们去浏览器手动输入:http://localhost:8501/ 一个只有一个标题的web app就做好了,是不是很简单呢:) 接下来我们构想是写一个钱包的基础转账功能,需要的栏目大概有这些:
好,我们开始写 player=st.text_input("请输入账号") password=st.text_input("请输入密码",type="password") toplayer = st.text_input('转到to') Token=st.text_input('转账币种Token') Token=Token.upper() number=st.text_input('数量Number') memo = st.text_input('备忘memo') button_trans=st.button('提交') 写好保存刷新一下就有了。 写了一堆代码,解释一下:
Token=st.text_input('转账币种Token') st.button('提交'),这意思是新建一个按钮。 更多的用法,可以参考说明文档:http://blog.hubwiz.com/2019/11/07/streamlit-manual/ 我们测试一下,发现无论输入啥都没反应,那当然,我们啥都没写嘛,下面我们来写一个函数。 我们先看看steem是怎么转账的,以beem库为例: from beem.steem import Steem from beem.account import Account #节点地址,这是我的节点 nodes = 'https://cn.steems.top' #加载密码和节点 s = Steem(keys=[password],node=nodes) #加载账户 account = Account(player,steem_instance=s) # 转账 tx=account.transfer(toplayer,money_number, token,memo) 知道怎么转账了,我们来写一个函数方便调用: def trans(nodes,password,player,toplayer,money_number,token,memo): #加载密码和节点 s = Steem(keys=[password],node=nodes) #加载账户 account = Account(player,steem_instance=s) # 转账 tx=account.transfer(toplayer,money_number, token,memo) return tx 这样一个函数就写好了,我们来试试调用看看。
钱的话,可以去交易所买点,火币的转出的手续费是0.001STEEM,非常便宜,可以买几个玩玩。
言归正传,我们来调用函数看看。 if button_trans: tx = trans(nodes,password,player,toplayer,number,Token,memo) st.write(tx) 这代码很简单,if button_trans就是当按下去按钮的时候发生了啥事。 streamlit 的显示方式就是st.write(tx) 我们来测试一下。 成功显示出信息,有没成功我们查看区块浏览器看看。 很好的转出去了,完美。 至此,一个只有转账功能的简单区块链钱包就写好了,撒花。 才一节课就写完了?后面怎么开课收学费走向人生巅峰迎娶白富美?这是个问题而且我还没考虑好。 下节课,我们来把这个简单的钱包部署在网上,方便提供给用户使用。 本节全部源代码可以从我的github获得:跳转github —- 编译者/作者:BU联盟 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
用python从零开始写一个区块链钱包(2)
2020-08-19 BU联盟 来源:区块链网络
LOADING...
相关阅读:
- 在太空中注册的比特币多签名交易2020-08-19
- 黑客尚未对Bitfinex提供的返还被盗比特币奖励的行为做出反应2020-08-19
- Chainlink的LINK看到海军陆战队HODLing和开发商销售的“空前下跌”2020-08-19
- 交易所开始将其主要客户告知CADE2020-08-18
- Chainlink的低比特币相关性并没有帮助其价格2020-08-18