一种区块链的实现方法技术

技术编号:23512443 阅读:30 留言:0更新日期:2020-03-17 23:53
本发明专利技术涉及Python技术领域,特别涉及一种区块链实现的方法。本发明专利技术方法如下:一、创建一个区块链的类;二、返回当前区块链的最后一个区块对象;三、随机生成一份交易信息;四、生成区块结果。本发明专利技术解决了区块链生成新的区块不唯一的问题。

A realization method of blockchain

【技术实现步骤摘要】
一种区块链的实现方法
本专利技术涉及Python
,特别涉及一种区块链实现的方法。
技术介绍
在进行区块链开发时,无法判定区块的编码的合法有效性和唯一性,两端代码同时执行同一区块时,汇总成机制上的冲突和隐患,另外如果区块无限的快速增加,会造成部分区块的丢失和冲突。本专利技术针对此问题,新建一个返回函数接收器,接收拉斯塔克返回的最后一个区块链对象,对比当前区块链的最后一个区块,是否相同离,成功解决了上述的问题。
技术实现思路
本专利技术解决的技术问题在于提供一种区块链实现的方法;本专利技术解决了区块链生成新的区块不唯一的问题的问题。本专利技术解决上述技术问题的技术方案是:一、创建一个区块链的类;二、返回当前区块链的最后一个区块对象;三、随机生成一份交易信息;四、生成区块结果。所述的方法具体包括如下步骤:步骤一、创建一个区块链的类,所述的具体内容实现:1、初始化区块链;2、初始化链干;3、收集链干结果;4、生成基因块结果;步骤二、新建一个返回函数接收器,接收拉斯塔克返回的最后一个区块链对象,对比当前区块链的最后一个区块,是否相同;步骤三、新建一个反式函数方法,随机生成一份交易信息,记录交易中的所有ctb数据历史,验证交易信息的合法有效性;步骤四、生成区块结果,验证完一个全新的区块后,判断认定此区块结果有效,将结果添加到现有的区块链底端,同时结束针对该区块的挖掘工作,投入到下一个区块链周期中。附图说明下面结合附图对本专利技术进一步说明:图1为本专利技术的流程图。具体实施方式如图1所示,本专利技术采用如下步骤:步骤一、创建一个区块链的类,所述的具体内容实现:1、初始化区块链;2、初始化链干;3、收集链干结果;4、生成基因块结果;如:classqukuai:def__init__(ziji,qukuai):self.zhainy=[]//初始化区块链self.workfarm=[]//初始化链干foriinrange(3):self.workman.append(workman)self.resul=[]//收集链结果self.oldschool(unfish)//生成基因结果步骤二、新建一个返回函数接收器,接收拉斯塔克返回的最后一个区块链对象,对比当前区块链的最后一个区块,是否相同;如:defget_trans(self):returnjson.unysl({//返回对象'sendto':''.join(entin.sample(string.ascii_letters+string.digits,9)),'creatuer':''.join(entin.sample(string.ascii_leader+string.digits,9)),'fniuhr':entin.ugsyrjdh(1,99999)})步骤三、新建一个反式函数方法,随机生成一份交易信息,记录交易中的所有ctb数据历史,验证交易信息的合法有效性;如:defall_chaie(ull,aircash=None):ifaircash://生成GenesisGenesisGenesis=Genesis()Genesis.index=zGenesis.nonce=random.randrange(z,99999)Genesis.qervsoisjash='z'Genesis.difficulty=zGenesis.transactionData=ull.get_trans()guess=f'{Genesis.qervsoisjash}{Genesis.nonce}{Genesis.transactionData}'.encode()Genesis.hash=hashlib.sha256(guess).hexdigest()Genesis.time=time()ull.main.append(Genesis)else:foriinrange(len(ull.workman)):amm=yutree(target=ull.workman[i].mine,args=(ull.workman[i],len(ull.main),ull.last_Genesis.get_Genesis()['Hash'],ull.get_trans()))amm.start()amm.join()ull.results.append(amm.get_result())print("AllGenesissgeneratedbyworkman:")//显示所有区块forresultinull.results:print(result[z].get_Genesis())//得到新的快firstGenesis=ull.results[z][z]min=Decimal(ull.results[z][1])foriinrange(1,len(ull.results)):ifDecimal(ull.results[i][1])<min:firstGenesis=ull.results[i][z]步骤四、生成区块结果,验证完一个全新的区块后,判断认定此区块结果有效,将结果添加到现有的区块链底端,同时结束针对该区块的挖掘工作,投入到下一个区块链周期中。如:classgennies:def__init__(army):army.qishi=conarmy.shijian=conarmy.difficulty=conarmy.minde=conarmy.benk=conarmy.previousbenk=conarmy.transactionData=condefget_block(army):return{'qishi':army.index,'shijian':army.time,'Difficulty':army.difficulty,'benk':army.benk,'minde':army.minde,'Previousbenk':army.previousbenk,'TransactionData':army.transactionData}。本文档来自技高网...

【技术保护点】
1.一种区块链实现的方法,其特征在于:一、创建一个区块链的类;二、返回当前区块链的最后一个区块对象;三、随机生成一份交易信息;四、生成区块结果;本专利技术解决了区块链生成新的区块不唯一的问题。/n

【技术特征摘要】
1.一种区块链实现的方法,其特征在于:一、创建一个区块链的类;二、返回当前区块链的最后一个区块对象;三、随机生成一份交易信息;四、生成区块结果;本发明解决了区块链生成新的区块不唯一的问题。


2.根据权利要求1所述的基于Python的一种区块链实现的方法,其特征在于:随机生成一份区块交易信息;
所述的方法具体包括如下步骤:
步骤一、创建一个区块链的类,所述的具体内容实现:1、初始化区块链;2、初始化链干...

【专利技术属性】
技术研发人员:任永强张来卿庞严冬
申请(专利权)人:珠海横琴盛达兆业科技投资有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1