public void QuickTestsOnKeyIdBytes() { var a = new KeyId("93e5d305cad2588d5fb254065fe48ce446028ba3"); var b = new ScriptId("93e5d305cad2588d5fb254065fe48ce446028ba3"); var b2 = new WitKeyId("93e5d305cad2588d5fb254065fe48ce446028ba3"); Assert.Equal(a.ToString(), b.ToString()); Assert.Equal(a.ToString(), b2.ToString()); Assert.Equal("93e5d305cad2588d5fb254065fe48ce446028ba3", a.ToString()); var bytes = Encoders.Hex.DecodeData("93e5d305cad2588d5fb254065fe48ce446028ba3"); Assert.True(StructuralComparisons.StructuralComparer.Compare(a.ToBytes(), b.ToBytes()) == 0); Assert.True(StructuralComparisons.StructuralComparer.Compare(b2.ToBytes(), b.ToBytes()) == 0); var c = new KeyId(bytes); var d = new ScriptId(bytes); var d2 = new WitKeyId(bytes); Assert.Equal(a, c); Assert.Equal(d, b); Assert.Equal(b2, d2); Assert.Equal(c.ToString(), d.ToString()); Assert.Equal(c.ToString(), d2.ToString()); Assert.Equal("93e5d305cad2588d5fb254065fe48ce446028ba3", c.ToString()); Assert.True(StructuralComparisons.StructuralComparer.Compare(c.ToBytes(), d.ToBytes()) == 0); Assert.True(StructuralComparisons.StructuralComparer.Compare(c.ToBytes(), d2.ToBytes()) == 0); var e = new WitScriptId("93e5d305cad2588d5fb254065fe48ce446028ba380e6ee663baea9cd10550089"); Assert.Equal("93e5d305cad2588d5fb254065fe48ce446028ba380e6ee663baea9cd10550089", e.ToString()); bytes = Encoders.Hex.DecodeData("93e5d305cad2588d5fb254065fe48ce446028ba380e6ee663baea9cd10550089"); var e2 = new WitScriptId(bytes); Assert.Equal(e, e2); }
public static string GetCheckedRow(GridView tempGrid, string Control) { CheckBox CheckBox; int KeyId; string Id = ""; foreach (GridViewRow GridViewRow in tempGrid.Rows) { CheckBox = ((CheckBox)(GridViewRow.FindControl(Control))); if (CheckBox.Checked) { //KeyId = ((int)(tempGrid.DataKeys.(GridViewRow.RowIndex).Value)); KeyId = System.Convert.ToInt32(tempGrid.DataKeys[GridViewRow.RowIndex].Value); if (Id == "") { Id = KeyId.ToString(); } else { Id = Id + "," + KeyId.ToString(); } } } return(Id); }
private static void ScriptPubKey() { Key privateKey = new Key(); KeyId publicKeyHash = privateKey.PubKey.Hash; var mainNetAddress = publicKeyHash.GetAddress(Network.Main); var testNetAddress = publicKeyHash.GetAddress(Network.TestNet); publicKeyHash = new KeyId(publicKeyHash.ToString()); testNetAddress = publicKeyHash.GetAddress(Network.TestNet); mainNetAddress = publicKeyHash.GetAddress(Network.Main); Console.WriteLine(mainNetAddress.ScriptPubKey); // OP_DUP OP_HASH160 18Av7Pm5knLGDu2CCAwVs6fPoy7UhyaC3Z OP_EQUALVERIFY OP_CHECKSIG Console.WriteLine(testNetAddress.ScriptPubKey); // OP_DUP OP_HASH160 18Av7Pm5knLGDu2CCAwVs6fPoy7UhyaC3Z OP_EQUALVERIFY OP_CHECKSIG var paymentScript = publicKeyHash.ScriptPubKey; Console.WriteLine(paymentScript); var sameMainNetAddress = paymentScript.GetDestinationAddress(Network.Main); Console.WriteLine(sameMainNetAddress); Console.WriteLine(mainNetAddress == sameMainNetAddress); // True var samePublicKeyHash = (KeyId)paymentScript.GetDestination(); Console.WriteLine(publicKeyHash == samePublicKeyHash); // True var sameMainNetAddress2 = new BitcoinPubKeyAddress(samePublicKeyHash, Network.Main); Console.WriteLine(mainNetAddress == sameMainNetAddress2); // True }
public void GetBalance() { ssbalance = 0; string privateKeyStr = PrivateKey; //string privateKeyStr = "cUvazeu9ucqD4trygt8xMEQKZfR3SZ5BdiAWb3eEwbQ48iPwYKSB"; BitcoinSecret privateKey = new BitcoinSecret(privateKeyStr); Network network = privateKey.Network; PubKey pubKey = privateKey.PubKey; string pubKeyStr = pubKey.ToHex(); KeyId pkhash = pubKey.Hash; string pkhashStr = pkhash.ToString(); BitcoinAddress addres = pkhash.GetAddress(network); string address = addres.ToString(); string networkStr = bsvConfiguration_class.testNetwork; string uri = bsvConfiguration_class.RestApiUri; //读取未消费的交易输出utxo Task <RestApiUtxo_class[]> utxo = Task <RestApiUtxo_class[]> .Run(() => { RestApiUtxo_class[] untxo = RestApi_class.getUtxosByAnAddress(uri, networkStr, address); return(untxo); }); utxo.Wait(); int n = utxo.Result.Length; for (int i = 0; i < n; i++) { ssbalance += utxo.Result[i].Value; } //Console.WriteLine(ssbalance); label3.Text = "账户余额:"; label3.Text += ssbalance; label3.Text += " sat"; }
private void label4_Click(object sender, EventArgs e)//查询地址 { if (flagadr == 0) { string privateKeyStr = PrivateKey; BitcoinSecret privateKey = new BitcoinSecret(privateKeyStr); Network network = privateKey.Network; PubKey pubKey = privateKey.PubKey; string pubKeyStr = pubKey.ToHex(); KeyId pkhash = pubKey.Hash; string pkhashStr = pkhash.ToString(); BitcoinAddress addres = pkhash.GetAddress(network); string address = addres.ToString(); textBox1.Visible = true; textBox1.Text = address; flagadr = 2; } else if (flagadr == 1) { textBox1.Visible = true; flagadr = 2; } else { textBox1.Visible = false; flagadr = 1; } }
public static string GetCheckedRowString(GridView tempGrid, string Control) { CheckBox CheckBox; string KeyId; string Id = ""; foreach (GridViewRow GridViewRow in tempGrid.Rows) { CheckBox = ((CheckBox)(GridViewRow.FindControl(Control))); if (CheckBox.Checked) { KeyId = tempGrid.DataKeys[GridViewRow.RowIndex].Value.ToString(); if (Id == "") { Id = KeyId.ToString(); } else { Id = Id + "," + KeyId.ToString(); } } } return(Id); }
public IDictionary <string, string> ToDictionary() { var dictionary = new Dictionary <string, string>(); dictionary.Add("keyid", KeyId.ToString()); dictionary.Add("vcode", VCode); return(dictionary); }
public override void ProcessMessage(IMessage message) { if (message.opcode == Opcode.FindnodeResponse) { foreach (var peer in message.peers) { // Cosa avra' voluto fare?? (cit.) if (peer.Id.ToString() == KeyId.ToString()) { } } } }
public override bool MatchesKeyIdentifierClause(SecurityKeyIdentifierClause keyIdentifierClause) { if (keyIdentifierClause == null) { throw new ArgumentNullException("keyIdentifierClause"); } var clause = keyIdentifierClause as NamedKeySecurityKeyIdentifierClause; return(clause != null && clause.Name.Equals(OAuth2.Constants.Claims.KEY_ID, StringComparison.Ordinal) && clause.Id.Equals(KeyId.ToString(), StringComparison.OrdinalIgnoreCase)); }
public override string ToString() { var sb = new StringBuilder("E2EEPublicKey("); bool __first = true; if (__isset.version) { if (!__first) { sb.Append(", "); } __first = false; sb.Append("Version: "); Version.ToString(sb); } if (__isset.keyId) { if (!__first) { sb.Append(", "); } __first = false; sb.Append("KeyId: "); KeyId.ToString(sb); } if (KeyData != null && __isset.keyData) { if (!__first) { sb.Append(", "); } __first = false; sb.Append("KeyData: "); KeyData.ToString(sb); } if (__isset.createdTime) { if (!__first) { sb.Append(", "); } __first = false; sb.Append("CreatedTime: "); CreatedTime.ToString(sb); } sb.Append(")"); return(sb.ToString()); }
private void button1_Click(object sender, EventArgs e) //读取 { textBox2.Text = ""; Console.WriteLine("start get"); string privateKeyStr = PrivateKey; //string privateKeyStr = "cUvazeu9ucqD4trygt8xMEQKZfR3SZ5BdiAWb3eEwbQ48iPwYKSB"; BitcoinSecret privateKey = new BitcoinSecret(privateKeyStr); Network network = privateKey.Network; PubKey pubKey = privateKey.PubKey; string pubKeyStr = pubKey.ToHex(); KeyId pkhash = pubKey.Hash; string pkhashStr = pkhash.ToString(); BitcoinAddress addres = pkhash.GetAddress(network); string address = addres.ToString(); string networkStr = bsvConfiguration_class.testNetwork; string uri = bsvConfiguration_class.RestApiUri; //获取链上的交易历史 Task <RestApiAddressHistoryTx[]> t = Task <RestApiAddressHistoryTx[]> .Run(() => { RestApiAddressHistoryTx[] addrHistory = RestApi_class.getAddressHistory(uri, networkStr, address); return(addrHistory); }); t.Wait(); int num = t.Result.Length; Console.WriteLine("链上交易数目:" + num); //读取链上信息 Task <RestApiTransaction[]> gettxs = null; if (num > 0) { string[] txHashs = new string[num]; for (int i = 0; i < num; i++) { txHashs[i] = t.Result[i].TxHash; } gettxs = Task <RestApiTransaction[]> .Run(() => { RestApiTransaction[] txs = RestApi_class.getTransactions(uri, networkStr, txHashs); return(txs); }); } for (int i = 0; i < num; i++) { RestApiTransaction tx = gettxs.Result[i]; string s = RestApi_class.getOpReturnData(tx, bsvConfiguration_class.encoding); if (s != null) { //解密 byte[] encryptedBytes; Base58Encoder base58Encoder = new Base58Encoder(); encryptedBytes = base58Encoder.DecodeData(s); string data = AES_class.AesDecrypt(encryptedBytes, privateKeyStr); textBox2.Text += data; textBox2.Text += "\r\n"; textBox2.Text += System.Environment.NewLine; textBox2.Text += "------------------------------------------------------------------------------------"; textBox2.Text += "\r\n"; textBox2.Text += System.Environment.NewLine; Console.WriteLine("链上内容:" + s); } } }