读取存储在区块链中的数据

时间:2018-06-23 21:47:11

标签: arraylist blockchain

我已经使用arraylist包含对象(块类)在Java中实现了一个简单的区块链。

    public static ArrayList<Block> blockchain = new ArrayList<Block>();

...和包含需要存储到区块链中的交易的块类。

  public Block(transaction data,String previousHash ) {

    this.data = data;

    this.previousHash = previousHash;

    this.timeStamp = new Date().getTime();


              this.hash = calculateHash(); 
}

交易类包含以下数据:文件病历......的病历标题的哈希值。

    public transaction(String title,String date,String pointer,int version,int nbdoctor,int nbsdoctor ,byte[] patient 
        ,String hashdata , ArrayList<byte []> permission , ArrayList<byte []> spermission ,byte[] newdoctorkey , byte[] newsdoctorkey ,
        byte[] removedoctor ,byte[] sremovedoctor) 

但是我不知道从这个区块链读取的方式。 我想根据标题字段将数据放入事务对象。  我想要一种快速的方法来将数据访问到区块链中(进入数组列表)。

谢谢。

2 个答案:

答案 0 :(得分:0)

这个问题的答案很简单明了。 要读取存储在区块链中的块中的数据,您需要一个“块浏览器”。

现在,根据您所拥有的区块链的类型,您应该选择相关的区块浏览器。对于比特币区块链,您需要一个比特币浏览器。同样,对于以太坊区块链,您需要一个以太坊资源管理器。

答案 1 :(得分:0)

您似乎在理解块概念时遇到困难。区块始终在区块链中包含多个交易。这些事务被构造为Merkle树,以提高读/写性能。如果仅将单个事务放在一个块内,则使用块是没有意义的。那时,您最好使用简单的哈希链,其中每个事务都包含对其前身的引用。

有关更多信息,请参见:https://en.wikipedia.org/wiki/Blockchain