Uniswap v4 -kaupankäyntibotin on tunnistettava ja ymmärrettävä tietty pooli ennen kaupan automatisointia. Pelkkä tokenpari ei riitä. Maksumääritys, hintaportaiden väli ja koukun osoite ovat myös osa poolin identiteettiä, kun taas ympäröivä ketju ja käyttöönotettu hallintasopimus määrittävät identiteetin merkitysympäristön.

Tämä merkitsee, koska aiempien automaattisten markkinatakaajien tutut oletukset eivät siirry muuttumattomina. V4-poolin ei tarvitse olla erillinen parisopimus, joka pitää omia helposti tulkittavia tokensaldojaan. Koukut voivat lisätä toimintaa, eikä näytetty maksukenttä aina kuvaa seuraavasta vaihdosta perittävää nykyistä maksua. Opas selittää erojen arviointia olettamatta jokaisen poolin tai koukun olevan tuettu. Kaikki numeroesimerkit ovat kuvitteellisia.

Uniswap V4 -kaupankäyntibotin pooli-identiteetti

Uniswap v4 -kaupankäyntibotin pooli-identiteetti alkaa oikeasta ketjusta ja PoolManager-käyttöönotosta. Siinä kontekstissa pooliavain sisältää järjestetyt valuutat, maksukentän, hintaportaiden välin ja koukun osoitteen. Yhden kentän muutos voi yksilöidä eri poolin kahden tutun tokensymbolin pysyessä samoina.

Tallenna täydellinen identiteetti kaupankäyntipäätökseen äläkä rakenna sitä myöhemmin hakutuloksesta. Yhden poolin kaavio ei saa valtuuttaa transaktiota toiseen pooliin, joka sattuu vaihtamaan samoja omaisuuseriä.

Esimerkiksi kaksi kuvitteellista markkinaa vaihtaa tokeneita A ja B. Yksi käyttää kiinteää maksua ilman koukun lisätoimintaa. Toinen käyttää dynaamista maksua ja koukkua omine määrityksineen. Niiden käsittely keskenään vaihdettavina voisi liittää ensimmäisen markkinan tutkimuksen toisen toteutukseen.

Uniswapin markkinaopas selittää laajempaa löytämisprosessia. V4 vaatii löytämiskirjauksen säilyttävän parin nimeä enemmän ennen sen muuttumista toteutuskelpoiseksi käskyksi.

Ymmärrä yhteisen sopimuksen kirjanpitomalli

PoolManager pitää useiden v4-poolien tilan yhteisessä sopimusarkkitehtuurissa. Hallintasopimuksen tokensaldon katsominen ei siksi eristä yhden tietyn poolin käytettävissä olevia varantoja. Erillisen parisopimuksen saldojen lukemiseen rakennettu vanha prosessi tarvitsee erilaisen tulkinnan.

Hyödyllinen vertaus on useita riippumattomia tilejä palveleva varasto. Rakennuksen kokonaisvarasto ei kerro yhdelle asiakkaalle kohdistettua määrää. Vertaus on rajallinen, mutta kuvaa yhteisen säilytyksen ja poolikirjanpidon erillisen tutkimisen tarvetta.

Botin tulee käyttää poolikohtaista tilaa ja tuettua tarjousmenetelmää. Sen tulee kirjata myös käyttämänsä tulkinta, erityisesti koukkujen voidessa vaikuttaa kirjanpitoon yksinkertaisen peruslikviditeettinäkymän ulkopuolella.

Poikkeuksellisen suuri hallintasopimuksen saldo ei ole näyttöä tarkoitetun kaupan syvästä likviditeetistä. Jos koontinäkymä mainostaa kokonaismäärää yhden uuden tokenmarkkinan käytettävissä olevana syvyytenä, sen näennäinen täsmällisyys voi kätkeä perustavan kirjanpitovirheen.

Erota alustus käyttökelpoisesta likviditeetistä

Pooli voidaan alustaa ennen hyödyllistä likviditeettiä. Alustus luo alkutilan; se ei todista tarkoitetun kokoisen toimeksiannon toteutuvan hyväksyttävällä hinnalla. Ero merkitsee juuri havaittuihin pooleihin reagoiville järjestelmille.

Keskittynyt likviditeetti lisää toisen eron. Pooliin liittyvä pääoma ei välttämättä ole aktiivista nykyisellä hinnalla. Olennaisen vaihteluvälin ulkopuolista positiota ei voi käsitellä samana kuin ehdotetun vaihdon ympärillä välittömästi käytettävää syvyyttä.

Oletetaan kuvitteellisen markkinan näyttävän huomattavaa talletusten kokonaisarvoa, mutta 200 noteerausyksikön osto tuottaa jyrkästi huonomman keskihinnan kuin 20:n osto. Pienempi tarjous ei validoi suurempaa kauppaa. Botti tarvitsee tarkoitetun määrän, nykyiset vaihteluväliolosuhteet ja lopullisen odotetun vastaanoton.

Varhaisen Uniswap-toteutuksen opas käsittelee, miksei löytämisnopeus osoita kaupankäyntikelpoisuutta. V4-toteutuksen tulee erottaa selvästi poolin luomishavainto, rahoitetun tilan havainto ja nykyinen toteutuskelpoinen tarjous.

Uniswap V4 -kaupankäyntibotin koukkutarkastukset

Uniswap v4 -kaupankäyntibotin koukkutarkastukset koskevat sallittuja takaisinkutsuja ja varsinaista toimintaa. Koukku voi osallistua poolitoimintojen määrätyissä kohdissa. Käytössä olevien takaisinkutsujen tunteminen kertoo tarkastajalle lisälogiikan mahdolliset suorituspaikat; se ei osoita logiikan harmittomuutta tai taloudellista suotuisuutta.

Lue tietyn koukun varmennettu toteutus ja olennainen määritys. Tunnistettava projektinimike tai vanhasta oppaasta kopioitu osoite ei osoita nykyisen reitin käyttävän arvioitua käyttöönottoa.

Erota myös koukun osoite sen kautta saavutettavasta toiminnasta. Poolin koukkuosoite on osa identiteettiä, mutta kiinteä osoite ei yksin todista jokaisen sen taustalla olevan toteutuksen, hallinta-asetuksen tai riippuvuuden muuttumattomuutta.

Järkevä yhteensopivuuskirjaus ilmoittaa botin ymmärtämät koukkutoiminnot ja toteutuksen hylkäämisen aiheuttavat toiminnot. Tavallisen poolin tuki ei automaattisesti tarkoita mielivaltaisen koukkulogiikan tukea. Tukemattoman ehdon tulee pysyä näkyvissä eikä kadota yleisen tarjouksen onnistumismerkinnän taakse.

Käsittele dynaamiset maksut nykytilana

V4 erottaa kiinteille ja dynaamisille maksuille määritetyt poolit. Dynaamisessa poolissa olennainen maksu voi riippua päivityksistä tai koukun toiminnasta. Yksilöivää maksukenttää ei saa lukea kuin se olisi aina seuraavan transaktion kirjaimellinen maksutaso.

Tämä muuttaa välimuistia. Pooliavain voi pysyä muuttumattomana taloudellisesti olennaisen maksutilan muuttuessa. Vain kahdella tokenosoitteella indeksoitu välimuisti voi ohittaa sekä oikean poolin että nykyiset toteutusehdot.

Tarkastellaan kuvitteellista vertailua, jonka talous ennen maksuja on muuten sama. Reitti A perii kaksi yksikköä vaihtokulua ja viisi verkkokulua. Reitti B perii neljä vaihtokulua ja yhden verkkokulua. Kokonaiskulut ovat vastaavasti seitsemän ja viisi yksikköä. Pienempi näytetty vaihtomaksu ei tuota halvempaa kokonaisreittiä.

Esimerkki jättää hintavaikutuksen ja lisätoiminnan pois laskennan eristämiseksi. Todellisen vertailun on sisällettävä jokainen ymmärretty kulu ja tilin odotettu lopullinen vastaanotto eikä vain yhtä otsikkotason maksukenttää.

Määrittele tarjouksen varsinainen sisältö

Tarjouksen tulee yksilöidä syötemäärä, tuotosarvio, reitti, tilaviite ja olennaisten kulujen käsittely. Jos koukku voi tuoda lisätokenliikkeitä tai rajoituksia, selvitä mallintaako tarjousmenetelmä ne. Yleisestä rajapinnasta palautettu luku ei automaattisesti ole täydellinen taloudellinen ennuste.

Erota tarjottu tuotos käytettävästä vastaanotosta. Arvot voivat erota tokenkäyttäytymisen tai reittikohtaisten maksujen vaikuttaessa vastaanottavaan tiliin. Botin tulee tietää, mitä arvoa sen vähimmäistuotossuoja rajoittaa.

Kuvittele tarjotut 10 000 yksikköä, joista tulee 9 700 käytettävää yksikköä mallinnetun vähennyksen jälkeen. Reitin vertaaminen toiseen 9 850 käytettävää yksikköä toimittavaan reittiin vaatii yhtenäiset määritelmät. Ensimmäisen järjestäminen aiemman 10 000-luvun mukaan vertaisi eri toteutusvaiheita.

Kun sisältyminen on epävarmaa, ilmoita epävarmuus ja pidä reitti automaattisen toteutuksen ulkopuolella. Saman tukemattoman tarjouksen tiheämpi toistaminen ei paranna sen kattavuutta tai luotettavuutta.

Lue yhtenäinen tilajoukko

Kaupankäyntipäätös yhdistää poolitilan, koukkumäärityksen, tokenmetatiedot, lompakon kapasiteetin ja reittivaltuudet. Niiden lukeminen hyvin eri hetkinä voi tuottaa tosiasiajoukon, jota ei koskaan ollut olemassa yhdessä. Tiheämpi kysely ei korvaa niiden suhteen ymmärtämistä.

Esimerkiksi välimuistin maksuhavainto voi edeltää hallintapäivitystä likviditeettitarjouksen seuratessa sitä. Syntyvä selitys voi kohdistaa tuotoksen väärään maksujärjestelmään itse vaihdon onnistuessakin.

Pidä tilaviitteet ja havaintoajat päätöksen mukana. Jos tuettu infrastruktuuri ei voi antaa riittävän yhtenäistä näkymää tietylle koukulle, botti voi rajata tuettua joukkoaan tai vaatia uuden varmennusvaiheen.

Ethereumin API-opas selittää vastauksen olevan päivättyä näyttöä eikä pysyvä totuus. V4:ssä periaate koskee koukun tuomaa lisätilaa sekä tavallisia saldoja ja poolihintaa.

Uniswap V4 -kaupankäyntibotin toteutusrajat

Uniswap v4 -kaupankäyntibotin toteutusrajojen tulee sitoa varsinainen reitti valtuutettuun aikomukseen. Olennaiset kentät sisältävät omaisuuserät, tarkan poolikontekstin, kulutusmäärän, vastaanottajan ja hyväksyttävän vastaanoton. Vanhenemisehto auttaa valitun reitittimen tukiessa sitä; sitä ei tule keksiä jokaisen ydintoiminnon yleispäteväksi ominaisuudeksi.

Erota tarkan syötteen ja tarkan tuotoksen aikomukset. Tasan 100 yksikön kuluttaminen vaatien vähintään 9 000 tokenia eroaa tasan 9 000 tokenin saamisesta sallien enintään 104 yksikön kulutuksen. Käyttöliittymä ei saa hiljaisesti muuntaa yhtä ohjetta toiseksi.

Oletetaan tarkan syötteen tarjouksen arvioivan 12 000 tokenia ja valitun vähimmäismäärän olevan 11 640. Se sallii 360 tokenia vähemmän eli 3% alle arvion. Se ei lupaa toteutusta arviolla tai rajaa hankitun position jokaista mahdollista tulevaa tappiota.

Pidä positiorajat myös tarjouksen ulkopuolella. Teknisesti kelvollinen reitti voi silti rikkoa tilin altistuskäytäntöä nykyisten omistusten ja selvittämättömien sitoumusten ollessa mukana.

Tunnista natiivivaluutta ja käärityt tokenit tarkasti

V4 tukee natiivivaluutan esitystä, joten botin on erotettava natiivi ETH kääritystä tokenista molempien liittyessä samaan taustaomaisuuteenkin. Reitin ja kirjanpidon tulee yksilöidä kulutettu, vastaanotettu tai muunnettu muoto.

Ero vaikuttaa käytettävissä oleviin varoihin. Riittävästi käärittyjä tokeneita kauppaan omistavalta tililtä voi silti puuttua tarpeeksi natiivivaluuttaa verkkokuluihin. Toisaalta kaiken natiivivaluutan varaaminen kaupan syötteeksi voi jättää riittämättömän kapasiteetin tarkoitetulle toteutuspolulle.

Käytä erillisiä kirjanpitoluokkia kaupan pääomalle, käärimis- tai purkuliikkeille ja verkkokuluille. Arvon siirtäminen natiivin ja käärityn muodon välillä ei saa automaattisesti näkyä kaupankäyntivoittona.

Kuvitteellisessa esimerkissä tili aloittaa 0,30 natiiviyksiköllä ja varaa 0,02 odotettuihin käyttötarpeisiin. Sen käytettävissä oleva natiivi kaupankäyntibudjetti on käytännön mukaan enintään 0,28 ennen muita sitoumuksia. 0,29:n ehdotus ylittää käytännön, vaikka pelkkä saldotarkastus ilmoittaisi riittävät varat.

Kohdista valtuudet varsinaiseen käyttövaltuuden saajaan

Pooli, koukku, reititin ja käyttövaltuuden vastaanottaja eivät ole keskenään vaihdettavia rooleja. Botin tulee selittää, mikä osa voi siirtää käyttäjän tokeneita ja miksi valittu polku tarvitsee valtuuden. Poolin tunnistaminen ei validoi asiaan liittymätöntä käyttövaltuuspyyntöä.

Arvioi valtuuden laajuus erillään kaupan koosta. Tarkoitettu 100 yksikön osto ei oikeuta olettamaan paljon suuremman käyttövaltuuden käytännön altistusta samaksi. Tilin säilyttämät avaimet eivät myöskään poista toiselle sopimukselle jo myönnettyä toimivaltaa.

ERC-20-valtuusopas antaa taustan käyttövaltuuden erolle. Sovella sitä tuetun v4-reitin varsinaiseen käyttövaltuuden saajaan äläkä hyväksy mitä tahansa kätevän käyttöliittymäkehotteen osoitetta.

Myös valtuusmuutokset tarvitsevat oman tilansa. Vahvistettu käyttövaltuus ei ole valmistunut osto. Jos myöhempi vaihto hylätään tai epäonnistuu, kirjanpidon ja käyttöliittymän tulee säilyttää ero valtuutetun ja todellisen tokenliikkeen välillä.

Tulkitse flash-kirjanpito keksimättä ilmaista pääomaa

V4:n flash-kirjanpito seuraa saldoeroja toimintojen aikana ja vaatii olennaisten velvoitteiden selvittämistä vuorovaikutuksen loppuun mennessä. Tämä voi vähentää tarpeettomia välisiirtoja tuetussa toteutuskulussa. Se ei luo taattua kaupankäyntivoittoa.

Botin on yhä ymmärrettävä koko toimintosarja ja lopulliset velvoitteet. Yksittäin houkuttelevien askelten sarja voi jättää epäsuotuisan loppumäärän maksujen, pyöristysten ja reittitoiminnan sisällyttämisen jälkeen.

Se ei myöskään tee asiaan liittymättömistä transaktioista atomisia. Kaksi erikseen lähetettyä toimintoa tai eri ketjuihin liittyvät toimet eivät saa kaikki tai ei mitään -toimintaa vain yhden osan käyttäessä v4-kirjanpitoa.

Arvioi atomisuus varsinaisella transaktiorajalla. Jos strategia riippuu toisesta erillisestä transaktiosta, kuvaa ensimmäisen onnistumisen ja toisen epäonnistumisen seuraukset. Altistus kuuluu positiosuunnitelmaan eikä piiloon ensimmäiseen toimintoon liittyvän teknisen termin taakse.

Tulkitse flash-kirjanpito keksimättä ilmaista pääomaaShared ManagerPool AccountingHook BehaviorRouter AuthorityAccount BalancesTRADING FIELD NOTESEDUCATIONAL RESOURCE
Yhteinen sopimussäilytys, poolin talous, koukkulogiikka ja käyttäjän valtuudet ovat eri tosiasioita, joita ei saa sulauttaa yhdeksi saldoluvuksi.

Täsmäytä tili näytetyn hinnan sijaan

Lopullinen kirjanpitokysymys on tilin kuluttama, vastaanottama ja yhä omistama määrä. Kaaviohinta tai transaktio lähetetty -viesti ei yksin vastaa siihen. Säilytä lopullinen transaktiotila ja olennaiset tilimuutokset.

Kuvitteellisessa ostossa 100 noteerausyksikköä ja kaksi yksikköä erikseen mitattua kulua luovat 102:n kokonaishankintamenon. Koko vastaanotetun position myöhempi myynti 110 nettoyksiköllä tuottaa kahdeksan yksikön voiton. Näytetty 10%:n hinnannousu ei muuta kahdeksan yksikön tulosta.

Jos vain puolet positiosta myydään, kohdista hankintameno johdonmukaisesti ja säilytä jäljellä olevat omistukset. Älä kutsu koko positiota voitolliseksi vain toteutuneen puolikkaan suotuisan tuloksen perusteella myymättömän puolikkaan heikennyttyä.

Kun natiivivaluutta maksaa myös gas-kulut, erota pääomaliike verkkoveloituksesta. Muuten saldoeromenetelmä voi luulla käyttökuluja lisäostokooksi tai hämärtää myynnissä todella vastaanotetun määrän.

Jaa altistus samankaltaisten poolien kesken

Kaupankäynti samalla tokenilla kahden eri v4-pooliavaimen kautta ei luo kahta erillistä taloudellista altistusta. Poolin identiteetti merkitsee toteutukselle, mutta myös salkkuidentiteetti merkitsee riskille. Botti tarvitsee molemmat näkymät.

Oletetaan tilillä olevan jo 240 yksikköä tokenaltistusta ja selvittämätön 60 yksikön osto. Uusi 80 yksikön ehdotus toisen koukkuja käyttävän poolin kautta nostaisi sidotun altistuksen 380:een. 350 yksikön katon alla ehdotus ylittää käytettävissä olevan kapasiteetin 30:llä.

Yhden reitin peruuttaminen ei vapauta sen varausta ennen botin selvittämää tulostilaa. Epävarmaa transaktiota ei tule laskea varmasti puuttuvaksi vain uudemman poolin tarjotessa nyt paremman tarjouksen.

Pidä yhteinen omaisuuseräkohtainen budjetti säilyttäen reittikohtaiset kirjaukset. Näin tarkastaja ymmärtää sekä tietyn poolin valintaperusteen että muuten houkuttelevan kaupan hylkäyksen muualla olevien sitoumusten vuoksi.

Selvitä transaktion kumoutumisen syy ennen kaupan muuttamista

Suorituksessa kumoutunut transaktio ei välttämättä tarkoita vähimmäistuotoksen olleen liian tiukka. Syy voi liittyä koukkuehtoon, yhteensopimattomaan tokenkäyttäytymiseen, riittämättömään valtuuteen tai nykytilaa vastaamattomaan reittioletukseen. Sietorajan kasvattaminen luokittelematta virhettä voi valtuuttaa huonomman hinnan jättämällä varsinaisen ongelman koskematta.

Säilytä alkuperäinen päätös ja sen epäonnistumisnäyttö. Vertaa odotettua polkua toteutuksessa havaittuun tilaan ja vastaukseen. Jos syy jää tuntemattomaksi, uusi yritys ei saa periä rajatonta uusintabudjettia vain aiemman yrityksen jäätyä ilman tokeneita.

Epäonnistuneet yritykset voivat yhä kuluttaa verkkoresursseja. Kuvitteellisessa istunnossa kuusi epäonnistunutta transaktiota, kukin hinnaltaan 0,40 yksikköä, kuluttavat 2,40 yksikköä ennen onnistuneen oston voiton tai tappion alkamista. Myöhempi kolmen yksikön kaupankäyntivoitto jättäisi vain 0,60 mitattujen yritysten jälkeen, jos muita kuluja ei ole.

Epäonnistumiskirjanpito kuuluu siksi positiokirjanpidon rinnalle. Se auttaa erottamaan hyväksyttävästi toteutuvat kaupat tekevät strategiat toteutuksesta, joka kuluttaa liikaa niihin päästäkseen. Toiminnallinen keskeytys voi olla perusteltu toistuvista yhteensopimattoman tilan virheistä omaisuuserän markkinanäkymän pysyessä samana.

Arvioi muutoksia kirjoittamatta mennyttä uudelleen

Koukkumääritysten muutokset ansaitsevat päivätyt kirjaukset. Tarkastajan verratessa tuloksia ennen ja jälkeen muutoksen strategia ei saa teeskennellä jokaisen kaupan käyttäneen nykyasetuksia. Muuten näennäinen parannus voi vain heijastaa erilaisia toteutusoloja, joita ei koskaan kirjattu.

Pidä poolin identiteetti, arvioitu toteutuskonteksti ja olennainen määritysviite jokaisen valmistuneen päätöksen mukana. Jos uusi arviointi muuttaa botin tukea, sovella valtuutta myöhempiin toimiin äläkä nimeä aiempaa näyttöä uudelleen kuin se jo täyttäisi uuden vaatimuksen.

Käytännön esimerkki on vain rajatulla ymmärrettyjen koukkujen joukolla kauppaan valtuutettu tili. Uuden koukun lisäämisen joukkoon tulee vaatia nimenomainen yhteensopivuuspäätös perusteineen. Vanhemman reitin kautta jo omistettu token ei automaattisesti valtuuta uutta reittiä.

Historia tukee myös valtuuden poistamista. Näytön muuttuessa puutteelliseksi tai ristiriitaiseksi järjestelmä voi lopettaa uuden altistuksen avaamisen säilyttäen nykyomistusten hallintaan tarvittavat kirjaukset. Riskin lisäämisen lopettamispäätös ja nykyistä positiota koskeva päätös ovat toisiinsa liittyviä mutta erillisiä.

Testaa tukemattomia tapauksia tarkoituksella

Mielekkään simulaation tulee sisältää muutakin kuin onnistunut vaihto tutussa poolissa. Sisällytä puuttuvan likviditeetin tapaus, vanha maksuhavainto, muuttunut koukkumääritys, riittämätön käyttövaluutta ja määriteltyä vähimmäismäärää vähemmän tuottava reitti.

Testaa myös identiteettivirheet. Kelvollinen tokenpari väärällä koukkuosoitteella tai hintaportaiden välillä ei saa päästä läpi symbolien näyttäessä oikeilta. Odotettu tulos on ristiriitaisen aikomuksen hylkäys hyödyllisine selityksineen.

Kirjaa kunkin testin laajuus. Yhden tilan onnistunut simulaatio antaa näyttöä siitä tilasta ja reitistä. Se ei todista pysyvää yhteensopivuutta kaikkien tulevien määritysten tai toisen samankaltaisia takaisinkutsuja tarjoavan koukun kanssa.

Käytännön vaatimus on selitettävä toteutusraja. Hyvin määritelty botti voi ilmoittaa ymmärtämänsä poolit, kaupan valtuuttavat tosiasiat, sitä rajoittavat rajat ja kirjanpidon sulkevan lopullisen näytön. Rajan ulkopuoliset poolit pysyvät tutkimusehdokkaina puuttuvan tulkinnan ratkaisemiseen asti.

Jatka oppimista

Tutustu kaikkiin aineistoihin