专栏首页技术专栏2.5 实现注册节点

2.5 实现注册节点

2.5 实现注册节点

实现注册节点这个功能比较简单,就是在我们的BlockChain类中 维护一个成员变量nodes,其类型是Set。然后通过Http接口接受穿过来的地址,将其保存到nodes里

class Blockchain:

def __init__(self):
self.chain = []
self.current_transactions = []
self.nodes = set()

# 创始区块 工作量证明随意,上一个区块hash值随意
self.new_block(proof=100, previous_hash=1)
def register_node(self, address):
parsed_url = urlparse(address)
self.nodes.add(parsed_url.netloc)
...
...

路由函数

@web.route('/node/register', methods=['POST'])
def register_node():
values = request.get_json()
nodes = values.get("nodes")

if nodes is None:
return "Error: please supply a valid list of nodes", 400

for node in nodes:
block_chain.register_node(node)

response = {
'message': 'New Nodes have been added',
'total_nodes': list(block_chain.nodes)
}

return jsonify(response), 201

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 慕课网Flask构建可扩展的RESTful API-3. 自定义异常对象

    因为注册的形式就非常多,所以我们不可能用万能的方式来解决。如果我们不能很好的处理多种多样的形式,我们的代码就会非常的杂乱

    Meet相识
  • Python3入门与实践(四): 面向对象

    ==当通过 student.name获取变量值的时候,首先会查找实例变量里有没有name属性,如果有则返回,如果没有就会去类变量里找,如果还是没有则会报错==

    Meet相识
  • scrapy进阶开发(一):scrapy架构源码分析

    其子类有HtmlResponse,TextResponse,XmlResponse

    Meet相识
  • 聊聊elasticsearch的TransportProxyClient

    本文主要研究一下elasticsearch的TransportProxyClient

    codecraft
  • 聊聊elasticsearch的TransportProxyClient

    本文主要研究一下elasticsearch的TransportProxyClient

    codecraft
  • Hadoop Yarn上的调度器

    Yarn在Hadoop的生态系统中担任了资源管理和任务调度的角色。在讨论其构造器之前先简单了解一下Yarn的架构。

    smartsi
  • 大白话讲解Promise(三)搞懂jquery中的Promise 一文 的学习+新领悟

    原文地址:http://www.cnblogs.com/lvdabao/p/jquery-deferred.html?utm_source=tuicool&ut...

    申君健
  • Appium+python自动化(四十)-Appium自动化测试框架综合实践 - 代码实现(超详解)

    今天我们紧接着上一篇继续分享Appium自动化测试框架综合实践 - 代码实现。由于时间的关系,宏哥这里用代码给小伙伴演示两个模块:注册和登录。

    北京-宏哥
  • Goroutine调度器

    并发(并行)一致都是编程语言的核心主题,不同于其他语言,例如C/C++语言用户序自行借助pthread创建线程,Golang天然就给出了并发解决方案:gorou...

    用户2937493
  • 阿里P9整理Java 高频面试题聊一聊 JUC 下的 LinkedBlockingQueue

    本文聊一下 JUC 下的 LinkedBlockingQueue 队列,先说说 LinkedBlockingQueue 队列的特点,然后再从源码的角度聊一聊 L...

    Java搬砖工人

扫码关注云+社区

领取腾讯云代金券