我正在学习区块链开发的面孔。由于我是一名Android开发人员,因此我想使用Java语言并希望在Android Studio中进行区块链开发以简化语言和编辑器。我有几个问题。我正在将投票系统作为Android应用程序使用,而无需任何服务器参与。我不是在从事加密货币的工作,只是想去一个分散的项目。 我对网络感到困惑,如果没有服务器,它将如何工作。 在这里,我创建了一个块,
class Blockchain {
//Section 1 Genesis block creation
constructor() {
this.chain = [this.createGenesisBlock()];
}
createGenesisBlock() {
return new Block(0, "01/01/2017", "Genesis block", "0");
}
//section 2 adding new blocks
getLatestBlock() {
return this.chain[this.chain.length - 1];
}
addBlock(newBlock) {
newBlock.previousHash = this.getLatestBlock().hash;
newBlock.hash = newBlock.calculateHash();
this.chain.push(newBlock);
}
//section 3 validating the chain
isChainValid() {
for (let i = 1; i < this.chain.length; i++) {
const currentBlock = this.chain[i];
const previousBlock = this.chain[i - 1];
if (currentBlock.hash != = currentBlock.calculateHash()) {
return false;
}
if (currentBlock.previousHash != = previousBlock.hash) {
return false;
}
}
return true;
}
}
如何在不使用服务器的情况下从一个节点连接到另一个节点?