コード例 #1
0
        public SeedInfoTransaction UploadSeedKey(SeedInfoTransaction transInfo)
        {
            RpcClient rpcClient   = new RpcClient();
            string    queryString = "";

            rpcClient.SetServerInfo(CeremonyClientFinal.Core.Settings.Default.server_url);

            JObject requestParam = new JObject();

            requestParam["pubkey"]      = MyInfo.MyWallet.GetPublicKey().ToString();
            requestParam["transaction"] = transInfo.ToJson();

            JObject requestBody = new JObject();

            requestBody["method"] = "UploadSeedKey";
            requestBody["params"] = requestParam;

            queryString = requestBody.ToString();

            try
            {
                string  response     = rpcClient.SendRequest(queryString);
                JObject responseBody = JObject.Parse(response);
                JObject result       = responseBody["result"];

                if (result["result"].AsString() == "true")
                {
                    GetServerStatus();
                }
                else
                {
                    // --------------------------> add alert here.
                }

                return(null);
            }
            catch (Exception ex)
            {
                return(null);
            }
        }
コード例 #2
0
        public SeedInfoTransaction GetSeedKey()
        {
            RpcClient rpcClient   = new RpcClient();
            string    queryString = "";

            rpcClient.SetServerInfo(CeremonyClientFinal.Core.Settings.Default.server_url);

            JObject requestParam = new JObject();

            requestParam["pubkey"] = MyInfo.MyWallet.GetPublicKey().ToString();

            JObject requestBody = new JObject();

            requestBody["method"] = "GetSeedKey";
            requestBody["params"] = requestParam;

            queryString = requestBody.ToString();

            try
            {
                string  response     = rpcClient.SendRequest(queryString);
                JObject responseBody = JObject.Parse(response);
                JObject result       = responseBody["result"];

                if (result["result"].AsString() == "true")
                {
                    SeedInfoTransaction tx = new SeedInfoTransaction();
                    tx.FromJson(result["data"]);
                    return(tx);
                }

                return(null);
            }
            catch (Exception ex)
            {
                return(null);
            }
        }
コード例 #3
0
        public void GetServerStatus()
        {
            RpcClient rpcClient   = new RpcClient();
            string    queryString = "";

            rpcClient.SetServerInfo(CeremonyClientFinal.Core.Settings.Default.server_url);

            JObject requestParam = new JObject();

            requestParam["pubkey"] = MyInfo.MyWallet.GetPublicKey().ToString();

            JObject requestBody = new JObject();

            requestBody["method"] = "GetInfo";
            requestBody["params"] = requestParam;

            queryString = requestBody.ToString();

            try
            {
                string  response     = rpcClient.SendRequest(queryString);
                JObject responseBody = JObject.Parse(response);
                JObject result       = responseBody["result"];

                if (result["result"].AsString() == "true")
                {
                    JObject updateData = result["data"];
                    MyInfo.TotalParticipant = int.Parse(updateData["total_participants"].AsString());
                    MyInfo.SelectedIndex    = int.Parse(updateData["selected_participants"].AsString());
                    MyInfo.MyStatus         = int.Parse(updateData["my_status"].AsString());
                    nLastSegmentNumber      = int.Parse(updateData["segment_number"].AsString());
                    nMyRange = (CeremonyClientFinal.Core.Settings.Default.nTotalSegments - nLastSegmentNumber) / (MyInfo.TotalParticipant - MyInfo.MyOrder + 1);

                    switch (updateData["ceremony_status"].AsString())
                    {
                    case "CEREMONY_STATUS_WAITING":
                        nCurrentState = 0;
                        break;

                    case "CEREMONY_STATUS_STARTED":
                        nCurrentState = 1;
                        break;

                    case "CEREMONY_STATUS_COMPLETED":
                        nCurrentState = 2;
                        break;

                    default:
                        break;
                    }

                    if (MyInfo.SelectedIndex == MyInfo.MyOrder && nCurrentState == 1)
                    {
                        SeedInfoFromServer    = GetSeedKey();
                        txbSeedText.IsEnabled = true;
                        txbSeedText.Tag       = "Write your seed text here...";
                        btnReset.IsEnabled    = true;
                        btnGenerate.IsEnabled = true;
                    }

                    UpdateUserInterface();
                }
            }
            catch (Exception ex)
            {
            }
        }