ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

java-在网络上共享对象(区块链)

2019-11-09 04:03:42  阅读:379  来源: 互联网

标签:blockchain share distributed java mining


我在Java上创建了一个简单的“区块链”.

区块链类是ArrayList<>.的块.这些块由以下各项组成:哈希码,先前的哈希码和nonse计数器.创建一个块时,会将其添加到区块链中,但是,在解析算法(SHA256)之前,无法分配其他块.如果哈希码是唯一的,则成功添加该哈希码或删除该块.

我现在想做的是在网络上共享区块链,因此SHA256算法不会由本地计算机解决,而是由网络上的用户解决(例如,比特币挖掘).

所以我的问题是:如何在网络中的不同计算机上共享同一对象?

您可以从Git下载代码:

Blockchain code

解决方法:

这是一个复杂的问题.有不同的方法,但是通常一个节点也会保留一个已连接节点的列表,并会通知它们更改.同样,一旦他们开始沟通,您就应该开始担心链中的差异(例如,如果一个节点上的链与另一节点上的链不同,但两者都有效).对于比特币,需要更长的一个才有效.

这是一个非常广泛的问题,答案也很广泛.您可以在此处使用websockets查看区块链的简单javascript实现:

https://github.com/lhartikk/naivechain

或简单的python实现:
https://github.com/sMustafov/Blockchain/blob/master/blockchain.py

或者这是我用Java写的一本书:)虽然还不完整,但是只是为了做一些培训和构想

https://github.com/veso1001/blockchain/tree/master/src/main/java/imbachain

标签:blockchain,share,distributed,java,mining
来源: https://codeday.me/bug/20191109/2011498.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有