Beispiel #1
0
        public static async Task <List <Utxo> > GetUtxosToPay(string api, string _addr, string assetid, double number)
        {
            MyJson.JsonNode_Object response = (MyJson.JsonNode_Object)MyJson.Parse(await Helper.HttpGet(api + "?method=getutxostopay&id=1&params=["
                                                                                                        + "'" + _addr + "','" + assetid + "'," + number + "]"));
            if (response.ContainsKey("result") == false)
            {
                return(new List <Utxo>());
            }

            MyJson.JsonNode_Array resJA = (MyJson.JsonNode_Array)response["result"];
            List <Utxo>           list  = new List <Utxo>();

            foreach (MyJson.JsonNode_Object j in resJA)
            {
                Utxo utxo = new Utxo(j["addr"].ToString(), new ThinNeo.Hash256(j["txid"].ToString()), j["asset"].ToString(), decimal.Parse(j["value"].ToString()), int.Parse(j["n"].ToString()));
                list.Add(utxo);
            }

            return(list);
        }
Beispiel #2
0
        //获取地址的utxo来得出地址的资产
        public static async Task <Dictionary <string, List <Utxo> > > GetBalanceByAddress(string api, string _addr)
        {
            MyJson.JsonNode_Object            response = (MyJson.JsonNode_Object)MyJson.Parse(await Helper.HttpGet(api + "?method=getutxo&id=1&params=['" + _addr + "']"));
            MyJson.JsonNode_Array             resJA    = (MyJson.JsonNode_Array)response["result"];
            Dictionary <string, List <Utxo> > _dir     = new Dictionary <string, List <Utxo> >();

            foreach (MyJson.JsonNode_Object j in resJA)
            {
                Utxo utxo = new Utxo(j["addr"].ToString(), new ThinNeo.Hash256(j["txid"].ToString()), j["asset"].ToString(), decimal.Parse(j["value"].ToString()), int.Parse(j["n"].ToString()));
                if (_dir.ContainsKey(j["asset"].ToString()))
                {
                    _dir[j["asset"].ToString()].Add(utxo);
                }
                else
                {
                    List <Utxo> l = new List <Utxo>();
                    l.Add(utxo);
                    _dir[j["asset"].ToString()] = l;
                }
            }
            return(_dir);
        }