private void on_get_sgas_balance(bool timeout, WWW www) { Debug.Log(www.text); var json = MyJson.Parse(www.text); if (!json.AsDict().ContainsKey("result")) { roleInfo.getInstance().sgas = 0; } else { var resultv = json.AsDict()["result"].AsList()[0].AsDict()["stack"].AsList()[0].AsDict(); var rtype = resultv["type"].AsString(); var rvalue = resultv["value"].AsString(); if (rvalue != "") { var n = new BigMath.Numerics.BigInteger(ThinNeo.Helper.HexString2Bytes(rvalue)); roleInfo.getInstance().sgas = decimal.Parse((float.Parse(n.ToString()) / 100000000).ToString()); } else { roleInfo.getInstance().sgas = 0; } } //数据获取结束后刷到主界面上 ck_refresh_info(); }
//市场合约余额测试 void test_getAuctionSgas() { MyJson.JsonNode_Object paparms = new MyJson.JsonNode_Object(); var array = new MyJson.JsonNode_Array(); array.AddArrayValue("(addr)AYTcTTB8jpWtGgs8ukoUrQPm1zmEFxZHNk"); paparms["sbParamJson"] = array; paparms["sbPushString"] = new MyJson.JsonNode_ValueString("balanceOf"); paparms["nnc"] = new MyJson.JsonNode_ValueString("0x7753e79cfb98e63e2b7aa00a819e0cb86fdb1930"); NeoGameSDK_CS.invokescrept((bool timeout, WWW www) => { var json = MyJson.Parse(www.text); if (!json.AsDict().ContainsKey("result")) { Debug.Log("无余额"); } else { var resultv = json.AsDict()["result"].AsList()[0].AsDict()["stack"].AsList()[0].AsDict(); var rtype = resultv["type"].AsString(); var rvalue = resultv["value"].AsString(); if (rvalue != "") { var n = new BigMath.Numerics.BigInteger(ThinNeo.Helper.HexString2Bytes(rvalue)); Debug.Log("余额:" + decimal.Parse((float.Parse(n.ToString()) / 100000000).ToString())); } else { Debug.Log("无余额"); } } }, paparms); }
void OnGUI() { if (GUILayout.Button("test0")) { var bi = new BigMath.Numerics.BigInteger(256); var strline = ""; foreach (var b in bi.ToByteArray()) { strline += b.ToString("X02"); } Debug.Log(bi + "=" + strline); bi = new BigMath.Numerics.BigInteger(-11233); strline = ""; foreach (var b in bi.ToByteArray()) { strline += b.ToString("X02"); } Debug.Log(bi + "=" + strline); bi = new BigMath.Numerics.BigInteger(new byte[] { 0x00, 0x02 }); strline = ""; foreach (var b in bi.ToByteArray()) { strline += b.ToString("X02"); } Debug.Log(bi + "=" + strline); bi = new BigMath.Numerics.BigInteger(new byte[] { 0x01, 0xff }); strline = ""; foreach (var b in bi.ToByteArray()) { strline += b.ToString("X02"); } Debug.Log(bi + "=" + strline); bi = new BigMath.Numerics.BigInteger(new byte[] { 0x01, 0xff, 0x00 }); strline = ""; foreach (var b in bi.ToByteArray()) { strline += b.ToString("X02"); } Debug.Log(bi + "=" + strline); } if (GUILayout.Button("test1 CheckAddress")) { var addr = "ALjSnMZidJqd18iQaoCgFun6iqWRm2cVtj"; var uint8 = ThinNeo.Helper.GetPublicKeyHashFromAddress(addr); //.GetPublicKeyScriptHash_FromAddress(addr); var hexstr = uint8.ToString(); Debug.Log("addr=" + addr); Debug.Log("hex=" + hexstr); } if (GUILayout.Button("test2 Hash2Address")) { var hexstr = "0x0b193415c6f098b02e81a3b14d0e3b08e9c3f79a"; //var hashrev = ThinNeo.Helper.HexString2Bytes(hexstr); var hash = new ThinNeo.Hash160(hexstr); var addr = ThinNeo.Helper.GetAddressFromScriptHash(hash); Debug.Log("hex=" + hexstr); Debug.Log("addr=" + addr); } if (GUILayout.Button("test3 Test_Pubkey2Address")) { var pubkey = "02bf055764de0320c8221920d856d3d9b93dfc1dcbc759a560fd42553aa025ba5c"; var bytes = ThinNeo.Helper.HexString2Bytes(pubkey); var addr = ThinNeo.Helper.GetAddressFromPublicKey(bytes); Debug.Log("pubkey=" + pubkey); Debug.Log("addr=" + addr); } if (GUILayout.Button("test4 WifDecode")) { var wif = "L2CmHCqgeNHL1i9XFhTLzUXsdr5LGjag4d56YY98FqEi4j5d83Mv"; var prikey = ThinNeo.Helper.GetPrivateKeyFromWIF(wif); var pubkey = ThinNeo.Helper.GetPublicKeyFromPrivateKey(prikey); var addr = ThinNeo.Helper.GetAddressFromPublicKey(pubkey); Debug.Log("wif=" + wif); Debug.Log("prikey=" + ThinNeo.Helper.Bytes2HexString(prikey)); Debug.Log("pubkey=" + ThinNeo.Helper.Bytes2HexString(pubkey)); Debug.Log("addr=" + addr); } if (GUILayout.Button("test5 Sign&Vertify")) { var wif = "L2CmHCqgeNHL1i9XFhTLzUXsdr5LGjag4d56YY98FqEi4j5d83Mv"; var prikey = ThinNeo.Helper.GetPrivateKeyFromWIF(wif); var pubkey = ThinNeo.Helper.GetPublicKeyFromPrivateKey(prikey); var addr = ThinNeo.Helper.GetAddressFromPublicKey(pubkey); var signdata = "010203ff1122abcd"; var message = ThinNeo.Helper.HexString2Bytes(signdata); var data = ThinNeo.Helper.Sign(message, prikey); Debug.Log("wif=" + wif); Debug.Log("addr=" + addr); Debug.Log("sign=" + ThinNeo.Helper.Bytes2HexString(data)); var b = ThinNeo.Helper.VerifySignature(message, data, pubkey); Debug.Log("verify=" + b); } if (GUILayout.Button("test6 Nep2->Prikey")) { //這個需要把scrypt換掉 var nep2 = "6PYT8kA51ffcAv3bJzbfcT6Uuc32QS5wHEjneRdkPYFxZSrirVHRPEpVwN"; var n = 16384; var r = 8; var p = 8; var prikey = ThinNeo.Helper.GetPrivateKeyFromNEP2(nep2, "1", n, r, p); Debug.Log("result=" + ThinNeo.Helper.Bytes2HexString(prikey)); var pubkey = ThinNeo.Helper.GetPublicKeyFromPrivateKey(prikey); var address = ThinNeo.Helper.GetAddressFromPublicKey(pubkey); Debug.Log("address=" + address); } }