示例#1
0
        /// <summary>
        /// Update an account to witness.Requires 250,000 vested SPHTX before updating.
        /// </summary>
        /// <param name="accountName">Input string accountName</param>
        /// <param name="descriptionUrl">A URL containing some information about the witness.  The empty string makes it remain the same.</param>
        /// <param name="blockSigningKey">The new block signing public key.  The empty string disables block production.</param>
        /// <param name="accountCreationPrice"></param>
        /// <param name="maxBlockSizeLimit"></param>
        /// <param name="priceFeed"></param>
        /// <param name="privateKey"></param>
        /// <returns>Returns true if success or false for failed try</returns>
        public TransactionResponse UpdateWitness(string accountName, string descriptionUrl, string blockSigningKey,
                                                 string accountCreationPrice, int maxBlockSizeLimit, List <List <PrizeFeedQuoteMessage> > priceFeed, string privateKey)
        {
            try
            {
                var pros = new ChainProperties
                {
                    AccountCreationFee = accountCreationPrice,
                    MaximumBlockSize   = maxBlockSizeLimit,
                    PriceFeeds         = priceFeed
                };

                var reqname = CSharpToCpp.GetValue(MethodBase.GetCurrentMethod().Name);
                var @params = new ArrayList {
                    accountName, descriptionUrl, blockSigningKey, pros
                };
                var result      = SendRequest(reqname, @params, typeof(PrizeFeedQuoteMessage));
                var contentdata = JsonConvert.DeserializeObject <AccountResponse>(result);

                var response = StartBroadcasting(contentdata.Result, privateKey);
                return(response);
            }
            catch (Exception ex)
            {
                throw;
            }
        }
 public WitnessUpdateOperation(string owner, string url, PublicKeyType blockSigningKey, ChainProperties props, Asset fee)
 {
     Owner           = owner;
     Url             = url;
     BlockSigningKey = blockSigningKey;
     Props           = props;
     Fee             = fee;
 }