Parity

由於隊列限制,請求已被拒絕

  • April 16, 2018

我正在嘗試將一個簡單的智能合約部署到我在 parity/Etherium 上的操場上。我終於設法執行權限和成員節點,並編寫了呼叫智能合約方法的程式碼。但是,當我執行它時,我總是會收到 subj 錯誤。

我已向該帳戶提供了 100 億乙太坊,我能夠從 Parity UI 執行操作,但我無法從應用程序執行此程式碼。

我的程式碼,供參考:

var web3 = new Web3(_ethereumSettings.ParityConnectionString);
var contract = web3.Eth.GetContract(_ethereumSettings.FactoryAbi, _ethereumSettings.FactoryContractAddress);
var getAddressFunction = contract.GetFunction("newEntity");
object guid = Guid.NewGuid().ToByteArray();
await getAddressFunction.SendTransactionAndWaitForReceiptAsync(_ethereumSettings.AccountAddress,
                                                              functionInput: new[]
                                                                  {guid});

怎麼了?我只想使用區塊鏈作為我所有交易的儲存,所以我必須讓這個帳戶可以無限制地訪問所有內容,但我很喜歡“隊列限制已滿”,即使我的操場上幾乎沒有待處理的交易。

經過一些研究,我發現所有事務都應該與特定使用者一起呼叫,否則它們不會通過:

var web3 = new Web3(
  new ManagedAccount(_ethereumSettings.AccountAddress, _ethereumSettings.AccountPassword),
  _ethereumSettings.ParityConnectionString
);

如果帳戶有足夠的乙太幣,則可以解決問題。

引用自:https://ethereum.stackexchange.com/questions/45163