Wie vanuit applicatiecode met Ethereum en andere EVM-chains wil werken, heeft een bibliotheek nodig die het onderliggende JSON-RPC-protocol bruikbaar maakt. ethers.js en web3.js zijn daarvoor de standaard in JavaScript en TypeScript. Wij gebruiken ze als koppellaag die van de blockchain leest en ernaar schrijft, in portfoliotrackers, tradingdata-infrastructuur, DeFi-analyses en web3-frontends.
Wat ethers.js en web3.js ontwikkeling omvat
Providers en verbindingen. Verbinding met nodes via aanbieders als Infura, Alchemy of QuickNode of een eigen node, met beheer van API-sleutels, timeouts en failover, WebSocket-providers voor realtime events, en configuratie voor chains als Polygon, Arbitrum, Optimism, Base, BSC en Avalanche. Zie ook wat is RPC.
On-chain data lezen. Saldi van native tokens en ERC-20-tokens, de toestand van contracts uitlezen via hun ABI, prijzen van DEX'en, blocks en transacties voor monitoring, en ENS-namen omzetten naar adressen en terug.
Events volgen en indexeren. Realtime subscriptions op contract-events, historische events opvragen in pagina's over blockbereiken, en ruwe logdata decoderen tot bruikbare objecten. Zie ook blockchain data-indexering.
Transacties opbouwen en ondertekenen. Transacties met correcte gasschatting en EIP-1559-fees, wallets in de browser zoals MetaMask via EIP-1193, en ondertekenen aan de serverkant waar een toepassing dat vereist, met veilig sleutelbeheer.
Contracts aanroepen. Contractinterfaces uit de ABI, getypeerd met TypeChain, multicall om veel leesacties in één RPC-verzoek te bundelen, en eventfilters voor specifieke contracts.
On-chain data voor trading. Prijzen van Uniswap, Curve en andere DEX'en, volume- en geldstromen als signaal, en DeFi-cijfers zoals TVL, leenrentes en liquidaties.
ethers.js, web3.js of viem?
ethers.js is onze standaard voor nieuw werk, met een heldere scheiding tussen provider, signer en contract. web3.js gebruiken wij waar een bestaande codebase het al gebruikt. viem, een TypeScript-first bibliotheek met sterke typering en goede prestaties, kiezen wij waar dat telt, vaak samen met wagmi voor React-frontends.
In de bredere stack
ethers.js levert de blockchainkoppeling in TypeScript-services, naast Rust voor zware dataverwerking. In Next.js-frontends verzorgt het de walletkoppeling, ook via WalletConnect. En in portfoliotrackers is het de bron voor posities over wallets, tokens, chains en protocollen.
Gebruikte technologieën
ethers.js v6, web3.js v4, viem, wagmi, TypeChain, Multicall3, Infura, Alchemy en QuickNode, WalletConnect, ethers-rs voor Rust, Node.js en TypeScript, en React met Next.js. Zie ook EVM ontwikkeling.
Veelgestelde vragen over ethers.js en web3.js
ethers.js, web3.js of viem?
ethers.js is onze standaard voor nieuw werk, viem als strikte TypeScript-typering belangrijk is, en web3.js waar een bestaande codebase het al gebruikt.
Hoe houden jullie on-chain data betrouwbaar?
Met meerdere RPC-providers en failover, multicall om het aantal verzoeken te beperken, WebSocket-subscriptions die herverbinden en gemiste events aanvullen, en controles op reorgs voor kritieke data.
Beheren jullie private keys op servers?
Alleen als de toepassing ondertekenen aan de serverkant vereist, en dan met sleutels in een beveiligde opslag, beperkte bedragen per hot wallet en duidelijke rechten. Bij gebruikersacties tekent de gebruiker in de eigen wallet.
Is de broncode van ons?
Dat kan. Het eigendom van de broncode wordt contractueel vastgelegd, en de code kan volledig van u zijn, inclusief documentatie en tests.
Bekijk alle technologieën waarmee wij werken of onze software op maat.