public static Block GenerateGenesisBlock(KeyPair keyPair) { var outEntry = new OutEntry() { RecipientHash = BlockchainUtil.ToAddress(keyPair.PublicKey), Value = 10 }; var genesisBlock = new Block() { Id = 0, Hash = genesisHash, PreviousHash = null, Timestamp = DateTime.Now, Transaction = new Transaction() { Id = 0, Signature = EccService.Sign(genesisHash, keyPair.PrivateKey, keyPair.PublicKey), Timestamp = DateTime.Now, InEntries = null, OutEntries = new List <OutEntry>() { outEntry } } }; return(genesisBlock); }
public static KeyPair LoadFrom(string path) { var keyContent = File.ReadAllText(path); var keyPair = JsonConvert.DeserializeObject <KeyPair>(keyContent); if (!EccService.TestKey(keyPair.PrivateKey, keyPair.PublicKey)) { throw new InvalidDataException("Collapsed keypair."); } return(keyPair); }