Skip to Content
dApps
Auf dieser Seite

Transaktionen senden

Verwenden Sie eth_sendTransaction, um eine Transaktion von einem verbundenen Konto anzufordern. Die Wallet fordert den Nutzer auf, sie zu prüfen und zu genehmigen. Eine erfolgreiche Anfrage gibt einen Transaktionshash zurück; dies bedeutet nicht, dass die Transaktion bestätigt oder erfolgreich ausgeführt wurde.

Beispiel

const provider = window.$onekey?.ethereum; if (!provider) throw new Error('OneKey Ethereum provider is unavailable.'); const [from] = await provider.request({ method: 'eth_requestAccounts' }); const chainId = await provider.request({ method: 'eth_chainId' }); // Check chainId against your application's intended network before continuing. const to = '<RECIPIENT_EVM_ADDRESS>'; // Replace with a valid address. try { const txHash = await provider.request({ method: 'eth_sendTransaction', params: [{ from, to, value: '0x0', }], }); console.log('Submitted transaction:', txHash); } catch (error) { console.error(error.code, error.message); }

Rufen Sie diesen Ablauf über eine Nutzeraktion auf. Ersetzen Sie Empfänger und Wert vor dem Senden. Fragen Sie eth_getTransactionReceipt auf derselben Chain ab, um Aufnahme- und Ausführungsstatus festzustellen; eine ausstehende Transaktion hat noch keinen Beleg.

Transaktionsparameter

ParameterBedeutung
fromVerbundenes Konto, das zum Senden der Transaktion autorisiert ist
toEmpfängeradresse; nur bei Vertragserstellung weglassen
valueBetrag der nativen Währung als hexadezimale Mengenangabe in der kleinsten Einheit (Wei auf Ethereum)
dataHexkodierte Vertragsaufrufdaten oder Bytecode zur Vertragserstellung
gasOptionales Gaslimit; dies ist eine Gasmenge, kein Gaspreis
gasPriceOptionale Gebühr pro Gaseinheit für eine Legacy-Transaktion
maxFeePerGas, maxPriorityFeePerGasGebührenfelder einer EIP-1559-Transaktion; nicht kombinieren mit gasPrice
nonceTransaktionssequenznummer des Kontos; normalerweise der Wallet die Verwaltung überlassen

Verwenden Sie ganzzahlsichere Berechnungen für Beträge; vermeiden Sie Gleitkommaberechnungen bei der Umrechnung in Wei. Lassen Sie die Wallet Gebühren schätzen, sofern Ihre Anwendung keinen konkreten Grund hat, sie vorzugeben. Der Nutzer kann Transaktionsdetails in der Wallet prüfen oder anpassen.

Netzwerk- und Kontoänderungen

Lesen Sie eth_chainId vor dem Vorbereiten einer Transaktion und behandeln Sie chainChanged und accountsChanged wie beschrieben in Provider-API. Erstellen Sie konto- oder netzwerkabhängige Transaktionsdaten nach einer Änderung neu.

Demo

Beispiel öffnen 

Zuletzt aktualisiert am