![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
python
文章平均质量分 64
charles_lun
这个作者很懒,什么都没留下…
展开
-
git clone 整个 group
前言今天跟同事交接项目组的工作,从公司的gitlab上看到,在这个group下面有很多仓库,且各个还有很多按业务分类的文件夹。我想将全部仓库全部clone到本地,但是git clone 不支持groups。正文这时候只能google了,好在gitlab提供了api https://docs.gitlab.com/ee/api/groups.html,然后找到了两个重要的很好用的api1.查询groups的apiGET /groups返回结果如下[ { "id": 1, "原创 2021-10-16 11:46:51 · 5765 阅读 · 4 评论 -
PKI体系
在非对称加密中,公钥可以通过证书机制来进行保护,但证书的生成、分发、撤销等过程并没有在 X.509 规范中进行定义。实际上,如何安全地管理和分发证书可以遵循 PKI(Public Key Infrastructure)体系来完成。PKI 体系核心解决的是证书生命周期相关的认证和管理问题,在现代密码学应用领域处于十分基础和重要的地位。需要注意,PKI 是建立在公私钥基础上实现安全可靠传递...原创 2018-07-09 17:07:30 · 5756 阅读 · 0 评论 -
python-Paxos算法实现
如果对Paxos算法逻辑理论不清楚的,请参考Paxos算法原理与推导这篇文章,这里不再赘述。理解一个算法最快,最深刻的做法,我觉着可能是自己手动实现,虽然项目中不用自己实现,有已经封装好的算法库,供我们调用,我觉着还是有必要自己亲自实践一下。这里首先说明一下,python这种动态语言,对不熟悉的人可能看着比较别扭,不像java那样参数类型是固定的,所以看着会有些蛋疼。 class M...原创 2018-06-20 15:33:43 · 4276 阅读 · 9 评论 -
python 装饰器
python装饰器就是用于拓展原来函数功能的一种函数,这个函数的特殊之处在于它的返回值也是一个函数,使用python装饰器的好处就是在不用更改原函数的代码前提下给函数增加新的功能。装饰器可能只看表面意思不太好理解,结合例子可能更好理解一点import timedef func(): print("hello") time.sleep(2) print("wo...原创 2018-06-26 16:46:37 · 149 阅读 · 0 评论 -
Paxos算法原理与推导(转载)
为什么转载这篇文章?这篇关于Paxos算法的文章,我觉着讲解的简单易懂,逻辑清晰,特地转载过来分享一下,也为后面自己实现Paxos算法,有一个好的铺垫。Paxos算法在分布式领域具有非常重要的地位。但是Paxos算法有两个比较明显的缺点:1.难以理解 2.工程实现更难。网上有很多讲解Paxos算法的文章,但是质量参差不齐。看了很多关于Paxos的资料后发现,学习Paxos最好的资料是论...转载 2018-06-19 17:18:22 · 1121 阅读 · 0 评论 -
python区块链的开发
至此,已经完成了:交易记录,区块的开发,现在进行区块链的开发就比较容易了。实现代码如下:from Block import InvalidBlock, Blockfrom Message import InvalidMessage, DaDaMessagefrom Transaction import Transaction# 区块链class Dada_BlockCoin: ...原创 2018-05-31 23:43:36 · 974 阅读 · 0 评论 -
python区块的开发
接着上一篇交易记录整合交易类,这里描述区块的开发。首先我们要明白一个区块,需要的内容,包括交易记录集合,时间戳,哈希,上一个区块的哈希。明白了这个,下面就容易代码开发了。import datetimeimport hashlibfrom Message import DaDaMessage, InvalidMessagefrom Transaction import Transac...原创 2018-05-31 23:17:03 · 355 阅读 · 0 评论 -
Raft算法理论(转载)
为什么转载?这篇关于raft算法的文章,介绍的也很清晰明了,易于理解,直接拿过来用了一致性问题在分布式系统中,一致性问题(consensus problem)是指对于一组服务器,给定一组操作,我们需要一个协议使得最后它们的结果达成一致。由于CAP理论告诉我们对于分布式系统,如果不想牺牲一致性,我们就只能放弃可用性,所以,数据一致性模型主要有以下几种:强一致性、弱一致性和最终一致性等...转载 2018-06-22 16:02:02 · 346 阅读 · 0 评论 -
python交易记录整合交易类
接着上一篇博客,这里继续整合交易类。import datetime#交易类,后期需要整合公钥,私钥class Transaction: #payer 付款方,receiver收款方 def __init__(self,payer,receiver,money): self.payer = payer self.receiver = re...原创 2018-05-31 16:15:32 · 999 阅读 · 0 评论 -
pyhon交易记录链的实现
接着上篇的内容,这里实现一个交易记录链,废话不多说,先看图: 跟之前的逻辑类似,但也有少许不同,这里多了一个payloadhash,以及对payloadhash和prehash的hash,下面看代码实现:import hashlibimport datetime# 交易记录类class DaDaMessage: def __init__(self, data):...原创 2018-05-31 15:27:26 · 538 阅读 · 0 评论 -
python简单区块链模拟
最近学习了一点python,那就试着做一做简单的编程练习。 首先是这个编程的指导图,如下: 对的,类似一个简单区块链的模拟。 代码如下:class DaDaBlockCoin: #index 索引,timestamp 时间戳,data 交易记录,self_hash交易hash,last_hash,上个hash def __init__(self,idex,tim...原创 2018-05-30 13:55:01 · 2688 阅读 · 0 评论 -
分布式系统基础概念:一致性,共识算法,FLP不可能性原理,CAP原理,ACID原则,Paxos与Raft,拜占庭将军问题
区块链首先是一个分布式系统,中央式结构改成分布式系统,碰到的第一个问题就是一致性的保障。很显然,如果一个分布式集群无法保证处理结果一致的话,那任何建立于其上的业务系统都无法正常工作。 一致性问题在分布式系统中,一致性是指:对于系统中的多个服务节点,给定一系列操作,在协议(往往通过某种共识算法)保障下,试图使得他们对处理结果达成某种程度的一致。 注意:一致性并不代表结果正确与否,而是系统对外...原创 2018-06-06 13:51:58 · 3335 阅读 · 0 评论 -
python多节点同步测试
上一篇只做到单节点的功能测试,这里继续多节点。import hashlibimport jsonimport timefrom urllib.parse import urlparsefrom uuid import uuid4import requestsfrom flask import Flask, jsonify, requestfrom typing import ...原创 2018-06-04 18:01:16 · 1318 阅读 · 1 评论 -
python挖矿算力校验与共识
谈到比特币,我们都知道挖矿,有些人并不太明白挖矿的含义。这里的挖矿其实就是哈希的碰撞,举个简单例子:import hashlibx = 11y = 1#这里可以调节挖矿难度,也就是哈希的长度while hashlib.sha256(f'{x*y}'.encode("utf-8")).hexdigest()[5:7]!="00": print(x*y) y +=1pr...原创 2018-06-03 19:10:43 · 1854 阅读 · 1 评论