コード例 #1
0
    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();
    }
コード例 #2
0
ファイル: test.cs プロジェクト: vivien1990/My-project
    //市场合约余额测试
    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);
    }
コード例 #3
0
    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);
        }
    }