Esempio n. 1
0
        private static async Task TraceBlock(BasicJsonRpcClient localhostClient, int blockNumber, string pathBase)
        {
            string response = await localhostClient.Post("debug_traceBlockByNumber", string.Format("0x{0:x}", blockNumber));

            var blockTraceItems = _serializer.Deserialize <JsonRpcResponse <BlockTraceItem[]> >(response);

            if (blockTraceItems == null)
            {
                return;
            }

            for (int i = 0; i < blockTraceItems.Result.Length; i++)
            {
                if (blockTraceItems.Result[i].Result == null)
                {
                    string nethPath = Path.Combine(pathBase, $"{i}_empty.txt");
                    File.WriteAllText(nethPath, "empty");
                }
                else
                {
                    string singleTxJson = _serializer.Serialize(blockTraceItems.Result[i].Result, true);
                    string txPath       = Path.Combine(pathBase, $"{i}.txt");
                    File.WriteAllText(txPath, singleTxJson);
                }
            }
        }
Esempio n. 2
0
        private static async Task TraceBlockByHash(BasicJsonRpcClient localhostClient, string hash, string pathBase)
        {
            string response = await localhostClient.Post("debug_traceBlockByHash", hash);

            var blockTraceItems = _serializer.Deserialize <JsonRpcResponse <GethLikeTxTrace[]> >(response);

            if (blockTraceItems.Error != null)
            {
                return;
            }

            for (int i = 0; i < blockTraceItems.Result.Length; i++)
            {
                if (blockTraceItems.Result[i].ReturnValue == null)
                {
                    string nethPath = Path.Combine(pathBase, $"{i}_empty.txt");
                    File.WriteAllText(nethPath, "empty");
                }
                else
                {
                    string singleTxJson = _serializer.Serialize(blockTraceItems.Result[i].ReturnValue, true);
                    string txPath       = Path.Combine(pathBase, $"{i}.txt");
                    File.WriteAllText(txPath, singleTxJson);
                }
            }
        }