Web3js
我猜是基本問題,但從我想使用非常簡單的客戶端與網路互動的意義上說,“web3”是一個客戶端嗎?
長話短說,我需要一種以程式方式發送原始交易的方法,無需任何邊界檢查或任何檢查……現在我不想濫用或淹沒網路 - 我的目標是嘗試發送幾個(約 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
指定的行,它工作得很好。