示例#1
0
        public void Save(MySqlConnection conn, JObject jObject)
        {
            Dictionary <string, string> selectWhere = new Dictionary <string, string>();

            selectWhere.Add("addr", SpiderHelper.getString(jObject["address"].ToString()));
            DataTable dt = MysqlConn.ExecuteDataSet(DataTableName, selectWhere).Tables[0];

            if (dt.Rows.Count != 0)
            {
                Dictionary <string, string> dirs = new Dictionary <string, string>();
                dirs.Add("lasttxid", jObject["txid"].ToString());
                dirs.Add("txcount", (int.Parse(dt.Rows[0]["txcount"].ToString()) + 1) + "");
                Dictionary <string, string> where = new Dictionary <string, string>();
                where.Add("addr", dt.Rows[0]["addr"].ToString());
                MysqlConn.Update(conn, DataTableName, dirs, where);
            }
            else
            {
                List <string> slist = new List <string>();
                slist.Add(SpiderHelper.getString(jObject["address"].ToString()));
                slist.Add(jObject["txid"].ToString());
                slist.Add(jObject["txid"].ToString());
                slist.Add("1");
                MysqlConn.ExecuteDataInsert(conn, DataTableName, slist);
            }
        }
        public void Save(MySqlConnection conn, string addr, string asset, string script)
        {
            Dictionary <string, string> selectWhere = new Dictionary <string, string>();

            selectWhere.Add("addr", addr);
            selectWhere.Add("asset", asset);
            DataTable dt = MysqlConn.ExecuteDataSet(DataTableName, selectWhere).Tables[0];

            if (dt.Rows.Count == 0)
            {
                string type = "";
                if (script.EndsWith(SpiderHelper.ZoroNativeNep5Call))
                {
                    type = "NativeNep5";
                }
                else
                {
                    type = "Nep5";
                }
                List <string> slist = new List <string>();
                slist.Add(addr);
                slist.Add(asset);
                slist.Add(type);
                MysqlConn.ExecuteDataInsert(conn, DataTableName, slist);
            }
        }
        public void Save(MySqlConnection conn, string script, uint blockHeight, string txid)
        {
            if (script == null)
            {
                return;
            }
            Dictionary <string, string> selectWhere = new Dictionary <string, string>();

            selectWhere.Add("txid", txid);
            DataTable dt = MysqlConn.ExecuteDataSet(DataTableName, selectWhere).Tables[0];

            if (dt.Rows.Count != 0)
            {
                Dictionary <string, string> where = new Dictionary <string, string>();
                where.Add("txid", txid);
                MysqlConn.Delete(conn, DataTableName, where);
            }
            scriptMethods.Clear();
            cutString(script);
            for (int i = 0; i < scriptMethods.Count; i++)
            {
                List <string> slist = new List <string>();
                slist.Add(txid);
                slist.Add(scriptMethods[i].calltype);
                slist.Add(scriptMethods[i].method);
                slist.Add(scriptMethods[i].contract);
                slist.Add(blockHeight.ToString());
                MysqlConn.ExecuteDataInsert(conn, DataTableName, slist);
            }
        }
示例#4
0
        public uint getHeight(string chainHash)
        {
            var dir = new Dictionary <string, string>();

            dir.Add("chainhash", chainHash);
            DataTable dt = MysqlConn.ExecuteDataSet(DataTableName, dir).Tables[0];

            if (dt.Rows.Count == 0)
            {
                return(0);
            }
            else
            {
                return(uint.Parse(dt.Rows[0]["chainheight"].ToString()));
            }
        }
示例#5
0
        public void Save(MySqlConnection conn, string chainHash, string height)
        {
            var dir = new Dictionary <string, string>();

            dir.Add("chainhash", chainHash);
            DataTable dt = MysqlConn.ExecuteDataSet(DataTableName, dir).Tables[0];

            if (dt.Rows.Count == 0)
            {
                var list = new List <string>();
                list.Add(chainHash);
                list.Add(height);
                MysqlConn.ExecuteDataInsert(conn, DataTableName, list);
            }
            else
            {
                var set = new Dictionary <string, string>();
                set.Add("chainheight", height);
                MysqlConn.Update(conn, DataTableName, set, dir);
            }
        }