Uw USDC levert het rendement van gisteren opQuicknode verplaatst het automatisch naar de beste Morpho-kluis van vandaag. Live op 7 blockchains.
Stel je strategie opDeFi-SDK —SDK handleiding voor beginners
Het integreren met verschillende Ethereum en het uitvoeren van veelvoorkomende taken is omslachtig. Vandaag gaan we dieper in opSDK bekijken we hoe dit het gelijktijdig werken met meerdere DeFi-protocollen vereenvoudigt.

SOC 2 Type II-gecertificeerd · ISO 27001
19 mei 2020 — leestijd: 4 min.

Het integreren met verschillende Ethereum en het uitvoeren van veelvoorkomende taken is omslachtig. Je moet bijvoorbeeld de adressen van smart contracts en ABI’s voor diverse DeFi-protocollen opzoeken en deze vervolgens allemaal beheren.
Om dit probleem op te lossen, heeft het Zerion-team SDK DeFi SDK gelanceerd. Vandaag gaan we het hebben over hoe deze SDK de integratie van verschillende DeFi-protocollen vereenvoudigt.
SDK een verzameling slimme contracten en API’s waarmee veelvoorkomende taken kunnen worden uitgevoerd binnen verschillende Ethereum ocollen, zoals Compound en Aave. Volgens de officiële documentatie:
“DeFi SDK is een open-sourceplatform voor slimme contracten dat het voor ontwikkelaars eenvoudiger maakt om DeFi-protocollen te integreren.”
SDK je verschillende DeFi-protocollen eenvoudig integreren en wordt de manier waarop je met deze protocollen communiceert gestandaardiseerd.
SDK ondersteuntSDK :
PieDAO
Dai met meerdere soorten onderpand
Bancor
DeFi-geldmarkt
TokenSets
0x Staking
Uniswap V1
Synthetix
PoolTogether
Dai-spaarquote
Chai
iearn.finance (v2, v3)
Inactief
dYdX
Curve
Samenstelling
Balancer
Aave
Eerst gaan we een nieuwe map aanmaken:
mkdirsdk
MomenteelSDK alleen beschikbaar in de programmeertalen Python en Go. Vandaag gaan we de Python-versie gebruiken op een Ubuntu-systeem. defisdk Hiervoor is Python 3.8 nodig, dus laten we dat installeren.
Installeer het Python 3.8-ontwikkelaarspakket:
sudo apt-get install python3.8-dev
Installeer nu defisdk:
python3.8 -m pip install defisdk --no-cache-dir
Mocht je een fout tegenkomen, sluit je dan aan bij de Zerion-Discord-groep.
Laten we nu eens kijken hoe dat werkt defisdk bevat enkele voorbeelden.
We gaan een bestand aanmaken index.py in onze desdk map:
open index.py
Open vervolgens dit bestand; we gaan het gebruiken voor de defisdk voorbeelden.
We moeten onze defisdk . Daarvoor hebben we een MainNet endpoint van MainNet ETH MainNet nodig.
Je kunt je aanmelden voor Quicknode en de URL opvragen.
import asyncio from defisdk import DeFiSDK ETHEREUM= 'YOUR_QUICKNODE_URL' defi_sdk = DeFiSDK(ETHEREUM)
Zoals je in de regels 2, 3 en 4 kunt zien, importeren we de SDK maken we een object aan door de URL van een Ethereum door te geven.
In de eerste regel importeren we een bibliotheek die we later zullen gebruiken.
Opmerking: Als je een applicatie ontwikkelt voor gebruik in een productieomgeving, Quicknode een dienst als Quicknode je tijd en geld besparen en je app sneller maken.
We hebben de eerste installatie voltooid.
Nu gaan we alle protocollen ophalen die worden ondersteund door de defisdk:
async def get_protocols():
print(await defi_sdk.get_protocol_names())
asyncio.run(get_protocols())Hier, defi_sdk.get_protocol_names() geeft ons een protocolnaam; het is een asynchrone functie omdat deze achter de schermen smart contracts aanroept.
Voeg de bovenstaande regels toe aan hetzelfde bestand (index.py).
Nu gaan we ons bestand uitvoeren om het resultaat te bekijken:
python3.8 index.py
Hierdoor worden alle ondersteunde protocollen weergegeven door defisdk:

In dit voorbeeld halen we in één enkele aanroep het tokensaldo van een gebruiker op uit alle protocollen.
USER_ADDRESS = '0xa218a8346454c982912cf6d14c714663c2d510d8'
async def get_account_balance():
balance = await defi_sdk.get_account_balance(USER_ADDRESS)
print(balance)
asyncio.run(get_account_balance())Hier, defi_sdk.get_account_balance(USER_ADDRESS) is de functie waarmee we het saldo van de gebruiker over alle protocollen heen kunnen opvragen.
Voeg de bovenstaande regels toe aan ons index.py en laten we het eens uitvoeren:
python3.8 index.py

Je kunt de volledige documentatie van de DeFi SDK raadplegen voor meer informatie hierover.
Laten we nu eens kijken naar deSDK .
defisdk is een combinatie van twee dingen:
1- Adapters voor slimme contracten + een register
2- Een in Python geschreven bibliotheek die SDK -functies van SDK Defi SDK aanroept
Er zijn twee soorten adapters:
ProtocolAdapter: een speciaal contract voor elk protocol. Het belangrijkste doel ervan is om alle interacties met het protocol te omvatten. Er zijn verschillende soorten protocoladapters: de „Asset”-adapter geeft het aantal tokens weer dat de rekening op het protocol aanhoudt, en de „Debt”-adapter geeft het bedrag weer dat de rekening aan het protocol verschuldigd is. Sommige protocollen maken geen gebruik van „eenvoudige” ERC20-tokens, maar hebben in plaats daarvan complexe derivaten (het Compound-protocol heeft bijvoorbeeld CTokens). Het ProtocolAdapter-contract geeft ook informatie over het type tokens dat daarin wordt gebruikt.
TokenAdapter: een contract voor elk type afgeleid token (bijv. cTokens, aTokens, yTokens, enz.). Het belangrijkste doel ervan is het verstrekken van tokenmetadata in ERC20-stijl, evenals informatie over de onderliggende ERC20-tokens (zoals DAI voor cDAI). Het verstrekt namelijk adressen, typen en koersen van onderliggende tokens.

Het werken met meerdere protocollen kan in het Ethereum nog steeds een behoorlijke uitdaging zijn, maar dankzij een aantal nieuwe bibliotheken proberen bedrijven dit probleem op te lossen. In toekomstige artikelen zullen we soortgelijke bibliotheken bekijken.
Heb je hulp nodig bij je project of heb je vragen? Neem dan contact met ons op via dit formulier, op TwitterQuicknode of stuur ons een berichtje op Discord!
Quicknode , opgericht in 2017, Quicknode blockchain-infrastructuur van institutionele kwaliteit voor ontwikkelaars en bedrijven. Met een uptime van 99,99% en ondersteuning voor meer dan 80 blockchains kunnen teams on-chain-applicaties bouwen en opschalen zonder concessies te doen.
De nieuwste technische inzichten, productupdates en web3-nieuws, rechtstreeks in je inbox.