Für Entwickler / Hier anfangen
Pickle Chain für Entwickler
Ein Ethereum Layer 2, der Ihre Transaktion sofort ausführt, eine signierte Vorbestätigung zurückgibt und darum herum einen gewöhnlichen Block nach Ethereum-Form versiegelt. Gas wird in ETH bezahlt, und die standardmäßige eth_*-Oberfläche genügt MetaMask, Foundry und Hardhat.
Was es ist
Pickle betreibt einen eigenen Rust-Sequencer mit revm, festgesetzt auf Cancun. Wenn Sie eine Transaktion senden, läuft sie sofort - eth_sendRawTransaction blockiert, bis das Ergebnis existiert, statt das Versprechen eines Ergebnisses zurückzugeben - und eine Quittung steht innerhalb des Planungsziels des Mini-Blocks zur Verfügung, etwa 10 ms. Ein Block nach Ethereum-Form, der diese Mini-Blöcke umhüllt, wird bei einem Planungsziel von etwa 250 ms versiegelt, und dieser Block ist das, was Wallets und Explorer als Bestätigung behandeln.
Aus Sicht des Werkzeugs ist die Chain dort gewöhnlich, wo es am meisten zählt: Chain ID 78270 im öffentlichen Testnetz, das diese Referenz dokumentiert, ETH für Gas, ein Block-Gaslimit von 30.000.000, standardmäßiges JSON-RPC und Block-Header nach Cancun-Form. forge, ethers, viem und MetaMask arbeiten alle dagegen. Sie ist auch dort ungewöhnlich, wo es zählt, und das hat eine eigene Seite statt eines Absatzes hier.
Was es nicht ist
Das Vertrauensmodell, vollständig genannt
- Ordering: one sequencer orders every transaction. It can reorder and it can censor, and there is no forced-inclusion path from Ethereum.
- Liveness: if the sequencer stops, mini-blocks stop and the chain halts for new execution. Replicas continue to serve derived history. The sequencer key is held in an on-chain registry and can be rotated, effective the next block.
- Correctness: there are no fraud or validity proofs. Any replica can detect a divergence between the published data and the committed block hash, and halts when it does; nothing on-chain arbitrates it.
- Data: everything needed to rebuild the chain is on Ethereum or committed to from Ethereum. A user relies on the operator's honesty, plus the fact that the data needed to check it is public.
- Bridge: the messenger is a trusted key. It cannot forge or replay a message, but it can delay. Batcher and messenger keys are distinct, enforced at startup.
Pickle stellt sich als nichts anderes dar als eine Chain mit einem einzigen Betreiber, und diese Dokumentation veröffentlicht keine Durchsatzzahl. Die beiden Kadenzzahlen oben sind Planungsziele - die Intervalle, die der Blockproduzent anstrebt - und keine Latenzgarantien und keine Aussage über den Durchsatz. Der Versiegler lässt einen verspäteten Tick aus, statt aufzuholen.
Es ist auch keine vollständige EVM-Äquivalenz, und die Lücken sind als eigene Seite veröffentlicht, statt sie Ihnen zur Laufzeit zu überlassen. Kurzfassung: Zustandslesungen ignorieren den Blockparameter, es gibt kein Archiv, und error.data wird nie gefüllt, Ihre Bibliothek kann also keinen Custom Error dekodieren.
Die Form der Sache
Eine Transaktion durchläuft drei Stufen, und zu wissen, welche davon Sie gerade beobachten, macht das meiste davon aus, was diese Chain lesbar macht:
- Ausführung - sofort, synchron zu Ihrem RPC-Aufruf. Ein Revert ist hier bekannt.
- Vorbestätigung - ein Mini-Block, vom Sequencer signiert, bei einem Planungsziel von etwa 10 ms. Ihre Quittung existiert, und ihr
blockNumberist nochnull. - Bestätigung - ein EVM-Block, bei einem Planungsziel von etwa 250 ms. Jetzt sind
blockNumberundblockHashgefüllt.
Finalität ist ein viertes, getrenntes Ereignis: Sie tritt ein, nachdem der enthaltende Batch auf Ethereum abgewickelt ist. Diese Seite verwendet das Wort für nichts anderes.
Ihr erster Aufruf
Das öffentliche Testnetz antwortet unter https://rpc.picklechain.xyz. Die Beispiele schreiben es überall als $RPC_URL, damit derselbe Befehl unverändert gegen einen eigenen Node läuft:
export RPC_URL=https://rpc.picklechain.xyz
curl -s "$RPC_URL" \
-X POST -H 'content-type: application/json' \
-d '{"jsonrpc":"2.0","id":1,"method":"eth_chainId","params":[]}'
# {"jsonrpc":"2.0","id":1,"result":"0x131be"}0x131be ist 78270. Der Aufruf selbst braucht keinen Schlüssel, kein Konto und keinen Header über einen Content-Type hinaus: Der Node authentifiziert nichts und antwortet jedem, der ihn erreicht. Test-ETH kommt vom Faucet, eine Anforderung pro Adresse alle 24 Stunden, und der Zustand kann ohne Vorankündigung zurückgesetzt werden.
Wohin als Nächstes
- Netzwerkparameter - die Konstanten, in einer Tabelle.
- JSON-RPC-Referenz - alle 61 registrierten Methoden.
- Abweichungen von Ethereum - lesen Sie das, bevor Sie Ihren Client debuggen.
- Historie und Aufbewahrung - lesen Sie das, bevor Sie einen Indexer schreiben.
- Reale Vermögenswerte - die Preisschicht: wie man die Vermögensliste bekommt und wie man einen Preis liest.
- Anwendungs-APIs - die hauseigenen HTTP-Oberflächen, die eine Bequemlichkeit sind und nicht die Chain.
- Token-Liste und Adress-Tags - wie ein Token sein Logo und das Verifiziert-Kennzeichen bekommt und ein Vertrag sein Label: per Pull Request.
- Der Explorer - das Archiv, das der Node nicht ist.
- Der Faucet - Test-ETH und Test-PKL, gegen eine eingefügte Adresse.
Keine Seite hier druckt eine Contract-Adresse, und das ist Absicht
Ein EVM-CALL an ein Konto ohne Code gelingt. Ein Swap, der über eine Adresse geleitet wird, an der nichts deployt ist, revertet nicht: Er nimmt Ihr ETH und meldet Erfolg. Prüfen Sie also jede Adresse, die man Ihnen gegeben hat, mit eth_getCode, bevor Sie irgendetwas an sie senden.
Die hauseigenen Anwendungen lösen jede Adresse, die sie verwenden, zur Laufzeit aus der Chain auf, statt eine einzukompilieren, und die Preisschicht dokumentiert, wie. Der Explorer zeigt, was an einer Adresse deployt ist; er verifiziert keinen Quelltext und veröffentlicht kein ABI.