以太坊在线钱包对接-python版

一直对交易所的钱包很好奇,我在交易所买了有ETH,但是充值地址显示金额是0,后面想了想也是,我即时买卖,资产中的充值地址不可能与我的余额关联起来,大概想了想,交易所应该是这个流程
1,买卖只是记账,不涉及实际区块金额
2,充值是充值到一个地址,一旦充值到账,交易所会将这笔钱转到自己的冷钱包或热钱包
3,提现后是从交易所的热钱包打出

试了一下web3.py对接以太坊的钱包,过程也算比较简单

1,启动geth服务

启动时一定要加上personal api,不然在对用户操作时会报找不到personal的方法

--rpcapi="db,eth,net,web3,personal,web3"

2,读取区块数据

查看指定区块的数据,transactions字段即全部的交易hash
>>> web3.eth.getBlock(1000000)
AttributeDict({u'nonce': u'0xcd4c55b941cf9015', u'transactionsRoot': u'0x65ba887fcb0826f616d01f736c1d2d677bcabde2f7fc25aa91cfbc0b3bad5cb3', u'hash': u'0x8e38b4dbf6b11fcc3b9dee84fb7986e29ca0a02cecd8977c161ff7333329681e', u'uncles': [], u'sha3Uncles': u'0x1dcc4de8dec75d7aab85b567b6ccd41ad312451b948a7413f0a142fd40d49347', u'timestamp': 1455404053, u'receiptsRoot': u'0x20e3534540caf16378e6e86a2bf1236d9f876d3218fbc03958e6db1c634b2333', u'number': 1000000, u'difficulty': 12549332509227, u'size': 768, u'miner': u'0x2a65aca4d5fc5b5c859090a6c34d164135398226', u'mixHash': u'0x92c4129a0ae2361b452a9edeece55c12eceeab866316195e3d87fc1b005b6645', u'parentHash': u'0xb4fbadf8ea452b139718e2700dc1135cfc81145031c84b7ab27cd710394f7b38', u'extraData': u'0xd783010303844765746887676f312e352e31856c696e7578', u'gasLimit': 3141592, u'stateRoot': u'0x0e066f3c2297a5cb300593052617d1bca5946f0caa0635fdb1b85ac7e5236f34', u'transactions': [u'0xea1093d492a1dcb1bef708f771a99a96ff05dcab81ca76c31940300177fcf49f', u'0xe9e91f1ee4b56c0df2e9f06c2b8c27c6076195a88a7b8537ba8313d80e6f124e'], u'totalDifficulty': 7135202464334937706, u'gasUsed': 50244, u'logsBloom': u'0x00000000000000000000000000000000000800000000000000000000000800000000000000000400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000001000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000400000000000000000'})
根据指定的hash查找事务详情,from-原始地址  to-目标地址 value-金额 (单位Wei)
>>> web3.eth.getTransaction('0xea1093d492a1dcb1bef708f771a99a96ff05dcab81ca76c31940300177fcf49f')
AttributeDict({u'nonce': 21, u'from': u'0x39fA8c5f2793459D6622857E7D9FbB4BD91766d3', u'blockHash': u'0x8e38b4dbf6b11fcc3b9dee84fb7986e29ca0a02cecd8977c161ff7333329681e', u'gas': 129244, u'value': 100000000000000000000L, u'blockNumber': 1000000, u'to': u'0xc083e9947Cf02b8FfC7D3090AE9AEA72DF98FD47', u's': u'0x30b7835ba481955b20193a703ebc5fdffeab081d63117199040cdf5a91c68765', u'r': u'0xa254fe085f721c2abe00a2cd244110bfc0df5f4f25461c85d8ab75ebac11eb10', u'gasPrice': 80525500000, u'v': u'0x1c', u'input': u'0x', u'transactionIndex': 0, u'hash': u'0xea1093d492a1dcb1bef708f771a99a96ff05dcab81ca76c31940300177fcf49f'})

这里我们就知道有没有交易所地址产生交易了。

3,到账确认

一般区块是需要到达指定的确认数才给入账的,这里我不是太明白,是不是有可能收到的块是无效块,被其他分支冲掉,不过如果按照6个确认数来,应该问题不大,将2中的hash保存,超过6个块后还能查到,应该就可以确认了,发起转到热钱包的事务,然后给用户入账。

遗留问题:

在调用web3.eth.getTransaction时,发现部分交易的to是空的,不知道是不是合约地址,改日再研究一下。

PS:有个问题理解的不对,一开始认为我们充币到交易所的充币地址后,交易所就将该币转移到冷钱包或热钱包了,后来实际观察了一下2个交易所,都没有动这个数量,我猜应该是金额太小,为了解决区块转账成本,要等一个地址达到一定的额度才会提走,有做交易所的朋友可以指正一下。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,290评论 6 491
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,107评论 2 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 156,872评论 0 347
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,415评论 1 283
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,453评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,784评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,927评论 3 406
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,691评论 0 266
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,137评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,472评论 2 326
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,622评论 1 340
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,289评论 4 329
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,887评论 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,741评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,977评论 1 265
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,316评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,490评论 2 348

推荐阅读更多精彩内容

  • 【中文版】以太坊白皮书 翻译:少平、 Seven当中本聪在 2009 年 1 月启动比特币区块链时,他同时向世界引...
    __Seven__阅读 4,160评论 0 10
  • 一、区块链 1. 分布式去中心化 比特币设计的初衷就是要避免依赖中心化的机构,没有发行机构,也不可能操纵发行数量。...
    Tenny1225阅读 33,595评论 5 35
  • 一、快速术语检索 比特币地址:(例如:1DSrfJdB2AnWaFNgSbv3MZC2m74996JafV)由一串...
    不如假如阅读 15,897评论 4 88
  • “人可以被毁灭,但不能被打败。”桑提亚哥这个在漆黑的夜里同鲨鱼持久的艰难抗争的渔民,让我肃然起敬,艰难的鏖战...
    一川烟草2018阅读 608评论 3 2
  • 昨晚下了2017年第一场雪,早晨起来女儿愁的问:“妈妈,我怎么上学。骑电动车会不会滑倒?”我说:“我们走路去,...
    可馨和丽丽阅读 93评论 0 1