Block{ hash, previousHash, merkleRoot, data, transactions, timeStamp, nonce} Nonce:随机数,使得hash的前difficulty位是0 mineBlock(int difficulty) Wallet{ privateKey, publicKey, UTXOs} UTXOs:Unspent Transaction Output, 属于自己且没有被使用的交易输出 generateKeyPair使用ECC(椭圆曲线算法)生成公私钥 getBalance sendFunds MerkleRoot: What: 任一父节点等于左右子节点数据相加后哈希的结果,所以默克尔树有另外一个名字哈希树(Hash tree) Use:mine时从transactions里获取merkleRoot: 遍历树 Function: 打包计算hash Sha256(merkleRoot + previousHash + timeStamp + nonce) Transaction{ transactionId, sender, ...