public static async Task <ApiResponse> GetBlock(string hash, int formate = 0)
        {
            ApiResponse response = new ApiResponse();

            try
            {
                BlockChainEngine engine = new BlockChainEngine();
                BlockInfoOM      result = await engine.GetBlock(hash, formate);

                if (result != null)
                {
                    response.Result = Newtonsoft.Json.Linq.JToken.FromObject(result);
                }
                else
                {
                    response.Result = null;
                }
            }
            catch (ApiCustomException ex)
            {
                Logger.Singleton.Error(ex.Message);
                Logger.Singleton.Error("Api error code is:" + ex.ErrorCode.ToString());
                Logger.Singleton.Error("Api error reason is:" + ex.InnerException.ToString());
                response.Error = new ApiError(ex.ErrorCode, ex.Message);
            }
            catch (Exception ex)
            {
                Logger.Singleton.Error(ex.Message);
                Logger.Singleton.Error("Custom error code is:" + ex.HResult);
                Logger.Singleton.Error("Custom error reason is:" + ex.InnerException);
                response.Error = new ApiError(ex.HResult, ex.Message);
            }
            return(response);
        }
        public async Task GetBlock()
        {
            BlockChainEngine engine = new BlockChainEngine();
            BlockInfoOM      result = await engine.GetBlock("B6D9FD10775254A86E836F211205D8A21D0F3FF3821C9E6F1F99377BFB4DADFA", 1);

            Assert.IsNotNull(result);
        }