我在Java上创建了一个简单的“区块链”。Blockchain类是Blocks的ArrayList 。这些块由以下各项组成:哈希码,先前的哈希码和nonse计数器。创建一个块时,会将其添加到区块链中,但是,在解析算法(SHA256)之前,无法分配其他块。如果哈希码是唯一的,则添加成功或将其删除。我现在想做的是在网络上共享区块链,因此SHA256算法不会由本地计算机解决,而是由网络上的用户解决(例如,比特币挖矿)。所以我的问题是:如何在网络中的不同计算机上共享同一对象?您可以从Git下载代码: Blockchain code (adsbygoogle = window.adsbygoogle || []).push({}); 最佳答案 这是一个复杂的问题。有不同的方法,但是通常一个节点也会保留一个已连接节点的列表,并会通知它们更改。同样,一旦他们开始交流,您就应该开始担心链中的差异(例如,如果一个节点上的链与另一节点上的链不同,但两者都有效)。对于比特币,需要更长的一个才有效。这是一个非常广泛的问题,答案也很广泛。您可以在此处使用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 (adsbygoogle = window.adsbygoogle || []).push({}); 07-24 20:21