示例#1
0
        public static Dictionary <string, List <Utxo> > GetBalanceByAddress(string api, string _addr, ref Dictionary <string, string> usedUtxoDic)
        {
            MyJson.JsonNode_Object            response = (MyJson.JsonNode_Object)MyJson.Parse(Helper.HttpGet(api + "?method=getutxo&id=1&params=['" + _addr + "']").Result);
            MyJson.JsonNode_Array             resJA    = (MyJson.JsonNode_Array)response["result"];
            Dictionary <string, List <Utxo> > _dir     = new Dictionary <string, List <Utxo> >();
            List <string> usedList = new List <string>(usedUtxoDic.Keys);

            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;
                }

                for (int i = usedList.Count - 1; i >= 0; i--)
                {
                    if (usedUtxoDic[usedList[i]] == utxo.txid.ToString())
                    {
                        usedUtxoDic.Remove(usedList[i]);
                        usedList.Remove(usedList[i]);
                    }
                }
            }
            return(_dir);
        }
示例#2
0
        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);
        }