Web3js

我猜是基本問題,但從我想使用非常簡單的客戶端與網路互動的意義上說,“web3”是一個客戶端嗎?

  • October 31, 2019

長話短說,我需要一種以程式方式發送原始交易的方法,無需任何邊界檢查或任何檢查……現在我不想濫用或淹沒網路 - 我的目標是嘗試發送幾個(約 50 個)無氣體交易到看看它們中的任何一個是否會被開採,也就是類似於 eos 上的經濟抽象。

我知道 web3 並不反對這一點,但我需要一種在將其發送到節點之前不檢查編碼輸出的方法。我不知道 myetherwallet 如何與他們的 gui 友好界面一起工作,而 web3 是我知道在哪裡有更多控制權的唯一方法,我想安裝舊版本的 web3 會讓我更接近我的目標?

顯然我想在區塊鏈上發送乙太幣,而不僅僅是做一些簡單的事情,比如查詢合約餘額等。謝謝!

Web3 將與乙太坊節點(通常是 Geth 或 Parity)進行互動,該節點負責將交易廣播到網路。

我的目標是嘗試發送幾筆(約 50 筆)無氣體交易,看看是否有任何交易會被開採

將 gas 設置為 0 將使節點拒絕您的交易。我只是嘗試過,因為我也很好奇,這是python中的程式碼:

from web3.auto import w3

try:
   trx = w3.eth.sendTransaction({
       'from': w3.eth.accounts[0],
       'to': w3.eth.accounts[1],
       'gas': 0,
       'value': int(1e16),
   })
except Exception as e:
   print(str(e))
else:
   print(f'Transaction {trx.hex()} successfully processed by a node.')

它列印以下內容:

{"message": "base fee exceeds gas limit", "code": -32000, "data": {"stack": "Error: base fee exceeds gas limit......."}

如果我刪除gas指定的行,它工作得很好。

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