Solanan lompakkoseurantabotti automatisoi julkisen tilitoiminnan keräämisen ja tulkitsemisen. Se voi ylläpitää seurantalistaa, hakea transaktionäyttöä, luokitella tunnistettuja toimintamalleja ja lähettää ilmoituksia. Vaikeinta ei ole viestivirran tuottaminen vaan yhtenäisen tietueen säilyttäminen silloin, kun tieto saapuu myöhässä, toistuu tai sitä ei vielä voida tulkita.
Luotettava toteutus erottaa havainnon arviosta. Transaktioviite on havainto. Oston kaltainen nimike on tulkinta, joka tarvitsee tuekseen näyttöä. Ilmoitus puolestaan on toimitustapahtuma. Näiden käsitteleminen erillisinä tietueina helpottaa järjestelmän palauttamista, tarkastelua ja parantamista keksimättä toimintaa tai lähettämättä samaa tapahtumaa toistuvasti.
Tässä artikkelissa kuvataan opetuksellinen arkkitehtuuri pelkkään lukemiseen perustuvaa seurantaa varten. Se ei vaadi lompakon allekirjoitusvaltuutta eikä tarjoa oikeaan kaupankäyntiin tarkoitettua skriptiä. Tarkoitus on osoittaa, miten tiedonkeruu, luokittelu ja ilmoittaminen voivat pysyä hyödyllisinä realistisissa käyttöoloissa, kun julkisten tietueiden osoittamille asioille asetetaan selvät rajat.
Anna Solanan lompakkoseurantabotille määritelty seurantalista
Seurantalistan tulee sisältää tarkat osoitteet ja syy kunkin seuraamiseen. Siihen voi kirjata myös havaintojakson alun, halutut toimintaluokat ja ilmoitusasetukset. Nämä tiedot estävät bottia laajentamasta rajaustaan huomaamatta tai käsittelemästä kaikkia osoitteita yhtä tärkeinä.
Erota käyttäjien antamat nimikkeet varmennetuista tilitiedoista. Yksityisellä seurantalistalla kauppias ykköseksi kutsuttu osoite on kätevä nimi eikä väite osoitteen hallitsijasta. Transaktiomalleista pääteltyihin nimikkeisiin tulee liittää lähde ja epävarmuus sen sijaan, että niistä tehtäisiin pysyviä identiteettiväitteitä.
Botin tulee tietää, mitkä tilityypit ja tokeniohjelmat se kattaa. Jos lähde tai jäsennin tukee vain osaa olennaisesta toiminnasta, tuo rajoitus esiin kattavuustietueessa. Siisti osittaisten havaintojen virta on silti vain osittainen kattavuus.
Valaslompakon seurantabotin opas käsittelee suurten julkisten virtojen tulkintaa. Sama raja pätee tässä: osoitteen seuraaminen voi tukea tutkimuskysymyksiä, mutta se ei osoita osoitteen takana olevan henkilön kaikkia omistuksia, motiiveja tai tulosta.
Suunnittele keruuputki ennen ilmoituksen muotoa
Perusputki löytää transaktioviitteet, hakee yksityiskohdat, normalisoi näytön, luokittelee toiminnan ja toimittaa valitut ilmoitukset. Jokaisella vaiheella tulee olla pysyvästi tallennettu syöte ja merkityksellinen lopputulos. Yhden vaiheen tilapäinen häiriö ei saisi pyyhkiä pois toisen jo valmistunutta työtä.
Esimerkiksi allekirjoituksen löytyminen voi luoda näyttöä odottavan tietueen, vaikka transaktion yksityiskohdat eivät olisi heti saatavilla. Luokitteluvaihe voi odottaa sen sijaan, että se antaisi väliaikaisen kauppanimikkeen. Myöhempi haku voi täydentää tietueen synnyttämättä toista itsenäistä löytötapahtumaa.
Pidä toiminnallinen tila erillään taloudellisesta merkityksestä. Haettu, odottaa näyttöä ja muotoa ei tueta kuvaavat kerääjän etenemistä. Osto, siirto ja tilitoimi kuvaavat tilitoiminnan tulkintoja. Näiden sanastojen sekoittaminen vaikeuttaa sen selittämistä, johtuuko puuttuva nimike markkinatosiasiasta vai käsittelyn rajoituksesta.
Solanan kaupankäyntibotin API-opas käsittelee rajapintojen laajempia vastuita. Seurantabotti voi noudattaa vastaavaa suunnittelukuria pysyen havaintoihin perustuvana: julkisen näytön kerääminen ei tarkoita valtuutta lähettää toimeksiantoja tai käyttää asiaan liittymättömiä tilisalaisuuksia.
Käsittele historian kursoreita kattavuusväitteinä
Historiakursori osoittaa, mihin keruu on edennyt määritellyssä kyselyrajauksessa. Se ei ole pelkkä kätevä merkkijono seuraavaa pyyntöä varten. Sen siirtäminen liian aikaisin voi luoda huomaamattoman aukon, kun taas siirtämättä jättäminen voi johtaa saman historian toistuvaan käsittelyyn.
Solanan getSignaturesForAddress-dokumentaatio kuvaa tulosten järjestämisen uusimmasta vanhimpaan ja sivutuksen ohjaimet. Kerääjän on huomioitava järjestys rakentaessaan omaa aikajärjestyksessä etenevää tietuettaan sen sijaan, että se olettaisi jokaisen palautetun sivun edustavan viime ajon jälkeistä uutta toimintaa.
Tallenna kursori yhdessä seuratun osoitteen, kyselyasetusten ja olennaisen kattavuusvälin kanssa. Yhden suodatus- tai vahvistustasokäytännön mukaisesti tuotettua kursoria ei tule käyttää osoituksena täydestä kattavuudesta toisella käytännöllä ilman tarkastelua.
Käytännöllinen palautumistoteutus voi tarkoituksella kerätä osan aiemmasta aikavälistä uudelleen. Vakaat tapahtumatunnisteet poistavat silloin kaksoiskappaleet, ja päällekkäisyys auttaa havaitsemaan aukkoja. Tämä on turvallisempaa kuin täydellisesti ajoitettuun siirtymään luottaminen vanhan ja uuden sivun välillä silloin, kun havainnot voivat saapua myöhässä.
Anna tapahtumille oikean tason vakaat tunnisteet
Yksi transaktio voi sisältää useita olennaisia käskyjä tai tokenisiirtoja. Pelkkä näyttönimike ei riitä tapahtuma-avaimeksi, ja pelkkä transaktion allekirjoitus voi olla liian karkea rajapinnalle, joka raportoi saman transaktion useita erillisiä toimia.
Määritä vakaa tunniste tallennettavan tapahtuman tasolle. Transaktiotason tietue voi käyttää allekirjoitustaan, kun taas siitä johdettu käskytason tietue voi sisältää vakaan käskysijainnin tai muun toistettavissa olevan tunnisteen. Toteutuksen tulee tehdä näiden tietueiden suhde selväksi.
Toistuvien havaintojen tulee päivittää näyttöä eikä monistaa taloudellista toimintaa. Jos sama vahvistettu siirto saapuu sekä historiakyselyn että reaaliaikaisen ilmoituksen kautta, tilihistoriassa tulee silti olla yksi siirto valitulla tapahtumatasolla.
Älä sekoita muuttunutta luokitusta uuteen transaktioon. Jäsentimen parannus voi muuttaa tapahtuman luokittelemattomasta tunnistetuksi vaihdoksi. Säilytä alkuperäinen viite ja kirjaa tulkinnan versio, jotta lukija voi ymmärtää korjauksen laskematta sitä toiseksi ostoksi.
Käsittele vahvistusta käytännön ohjaamana näyttönä
Seuranta tarvitsee dokumentoidun käytännön siitä, milloin se näyttää alustavia havaintoja ja milloin se pitää niitä tarkoitukseensa riittävän vakiintuneina. Nopeampi näyttäminen voi hyödyttää tutkimusta, mutta käyttöliittymä ei saisi peittää varhaisen havainnon ja vakiintuneemman tietueen eroa.
Jos myöhempi näyttö muuttaa havainnon tilaa, säilytä siirtymä. Jo toimitettu ilmoitus voi tarvita korjauksen hiljaisen poistamisen sijaan. Vastaanottajan tulee voida ymmärtää, miksi nykyinen tietue poikkeaa aiemmasta ilmoituksesta.
Solanan getTransaction-dokumentaatio selittää, että pyydetystä transaktiosta ei välttämättä palaudu tulosta valitulla vahvistustasolla. Kerääjän tulee tulkita vastaus käytäntönsä ja lähteen kykyjen puitteissa eikä muuttaa sitä heti lopulliseksi epäonnistumisnimikkeeksi.
Tilakäytännön tulee myös määrittää, kuinka kauan ratkaisematon näyttö kelpaa uudelleenyrityksiin ja mitä sen jälkeen tapahtuu. Loppuun käytetty hakuprosessi voi merkitä kattavuusrajoituksen tarkasteltavaksi. Sen ei pidä keksiä taloudellista päätelmää vain saadakseen jokaisen putken kohteen näyttämään valmiilta.
Pidä raakanäyttö ja normalisoitu merkitys yhdessä
Normalisoitu tietue helpottaa erilaisten transaktiomallien vertailua, mutta se voi hukata tärkeitä yksityiskohtia, jos muunnos on liian voimakas. Säilytä lähdeviite, olennaiset raakamäärät, yksiköt, aikaleimat ja jäsentimen versio yksinkertaistetun tapahtuman rinnalla.
Botti voi silloin vastata kahteen kysymykseen: mitä lähde raportoi ja mitä tämä luokittimen versio päätteli? Ero on arvokas yllättävän tuloksen tutkimisessa tai tuen päivittämisessä aiemmin tuntemattomalle käskymallille.
Vältä tarpeettoman arkaluonteisen aineiston tallentamista rutiinitietueisiin. Pelkkään lukemiseen perustuva julkinen seuranta ei tarvitse yksityisiä allekirjoitusavaimia tai palautuslausekkeita. Käyttölokien tulee keskittyä lähteen tilaan, tapahtumatunnisteeseen ja käsittelytuloksiin sen sijaan, että käyttäjiä kannustettaisiin liittämään asiaan liittymättömiä lompakkosalaisuuksia häiriöraporttiin.
Älykkään rahan seurantabotti voi rakentaa analyysipisteitä normalisoidun toiminnan päälle. Näiden pisteiden tulee pysyä yhtenä lisätulkintakerroksena ja säilyttää taustatapahtumat, jotta myöhempi tarkastelija voi tutkia, olivatko luokitus- ja pisteytysoletukset perusteltuja.
Luokittele Solanan lompakkoseurantabotin transaktiot varovaisesti
Solanan lompakkoseurantabotin transaktioluokituksen tulee käyttää tunnistettuja näyttömalleja ja nimenomaista ratkaisemattomien luokkaa. Pelkkä saldon kasvu ei osoita ostoa eikä lasku myyntiä. Siirrot ja tilitoimet voivat tuottaa molempia ilman markkinoilla tehtävää vaihtoa.
Jos transaktio sisältää useita omaisuuseriä tai käskyjä, tutki koko olennainen muutos sen sijaan, että nimeäisit ensimmäisen tutun tokenisiirron. Muuten maksu, käärityn omaisuuserän toimi tai välitili voi tulla sekoitetuksi lukijaa kiinnostavaan taloudelliseen toimeen.
Anna luottamus- tai näyttönimikkeitä vain silloin, kun niiden merkitys on määritelty. Heuristiikan tuottama prosentti ei automaattisesti ole kalibroitu todennäköisyys luokituksen oikeellisuudelle. Tunnistetun mallin, osittaisen näytön ja käsintarkastuksen kaltaiset kuvailevat luokat voivat olla rehellisempiä, jos arviointipohja on rajallinen.
Ylläpidä luokituksen vertailutapauksia. Sisällytä tavallisia vaihtoja, siirtoja, epäonnistuneita yrityksiä, monimutkaisia monikäskyisiä transaktioita ja tukemattomia muotoja. Tarkoitus on testata nimikkeiden merkitystä eikä vain varmistaa, että nykyinen jäsennin tuottaa uudelleen omat aiemmat tuloksensa.
Täsmäytä määrien muutokset keksimättä kauppoja
Määräaikaiset tilin tilannekuvat voivat auttaa tarkistamaan, selittääkö tapahtumatietue havaitut omistukset. Jos seurattua tokenia on aluksi 5 000 yksikköä ja luokitellut tapahtumat osoittavat 700 yksikön nettokasvun, myöhemmin havaittu 5 700 yksikköä sopii tähän yksinkertaiseen määrälaskelmaan.
Jos myöhempi havainto on 5 900, selittämättömät 200 yksikköä on tutkittava. Mahdollisia syitä ovat puuttuvat tapahtumat, puutteellinen tilirajaus, tukemattomat käskyt tai ajoitusero. Botin ei pidä luoda keinotekoista ostoa vain pakottaakseen summat täsmäämään.
Täsmäytysikkunan aikaleimojen ja tilirajauksen on vastattava toisiaan. Yhden tapahtumavirran vertaaminen tilannekuvaan, joka sisältää lisää tilejä, voi tuottaa virheellisen poikkeaman. Kattavuustietueen tulee selittää, mitkä tilit ja tokeniohjelmat osallistuivat vertailun kumpaankin puoleen.
Määrien täsmäytys ei osoita voittoa. Täydellisesti täsmäytetystäkin siirtohistoriasta voi puuttua hankintameno tai luotettava realisointiarvo. Pidä tulosarviot erillään yksinkertaisemmasta väitteestä, että havaitut liikkeet selittävät tuloksena olevan tokenimäärän.
Hallitse jonot ennen kuin ne tuottavat vanhentuneita ilmoituksia
Kerääjä voi saada työtä nopeammin kuin myöhemmät vaiheet pystyvät sitä käsittelemään. Oletetaan, että kuvitteellinen syöte tuottaa kaksitoista kohdetta sekunnissa ja jäsennin pystyy käsittelemään kestävästi kymmenen. Jono kasvaa kahdella kohteella sekunnissa eli 120 kohteella minuutissa, kunnes kapasiteetti tai kysyntä muuttuu.
Tästä jonosta toimitettu ilmoitus voi olla teknisesti oikea mutta ei enää ajankohtainen. Seuraa jonon ikää sen pituuden lisäksi. Pieni määrä poikkeuksellisen vaikeita kohteita voi tuottaa huomattavan viiveen, kun taas suuri erä yksinkertaisia historiatietueita voi olla hyväksyttävä, jos se merkitään historian täydennykseksi.
Käytä tarvittaessa eri prioriteetteja kiireellisille nykyhavainnoille ja historian keruulle, mutta älä anna priorisoinnin tuhota historiaa huomaamatta. Järjestelmän tulee säilyttää nimenomainen tietue viivästyneestä tai ohitetusta työstä ja sen syystä.
Vältä rajatonta uudelleenyrityssilmukkaa yhden ongelmallisen kohteen kohdalla. Rajattu käytäntö voi siirtää kohteen tarkasteluun ja sallia muiden tietueiden etenemisen. Tavoite on säilyttää sekä kattavuus että toiminnallinen selkeys sen sijaan, että yksi poikkeava transaktio pysäyttäisi koko seurantalistan määräämättömäksi ajaksi.
Mittaa Solanan lompakkoseurantabotin ilmoitusviiveet alusta loppuun
Solanan lompakkoseurantabotin ilmoitusviive sisältää useita vaiheita: lähde havaitsee tapahtuman, kerääjä hakee sen, luokitin tulkitsee sen ja toimituskanava esittää viestin. Pelkän yhden verkkopyynnön mittaaminen voi piilottaa suurimman osan vastaanottajan kokemasta viiveestä.
Tallenna saatavilla olevat aikaleimat niin, että niiden merkitys on selvä. Tapahtuma-aika ja vastaanottoaika voivat erota, eikä joitakin lähdeaikaleimoja ehkä ole saatavilla. Puuttuvan aikaleiman tulee pysyä tuntemattomana sen sijaan, että se korvattaisiin paikallisella käsittelyajalla ja esitettäisiin alkuperäisenä tapahtuma-aikana.
Ilmoituksen tulee näyttää riittävät ikätiedot tulkintaa varten. Aiemmalta aikaväliltä palautettu tapahtuma voi kuulua historiaan ilman, että sitä mainostetaan tuoreena kaupankäyntimahdollisuutena. Toimitusnopeus ei muuta havaitun tilin kohtaamia alkuperäisiä toteutusehtoja.
Solanan valasseurannan opas tarkastelee, miten julkiset tutkimukset etenevät puutteellisten havaintojen kautta. Seurantabotin tulee tehdä puutteet näkyviksi sen sijaan, että se tiivistäisi jokaisen tapahtuman varmalta ja välittömältä näyttäväksi viestiksi.
Poista ilmoitusten kaksoiskappaleet erillään transaktioista
Yhden tapahtuman tallentaminen ei automaattisesti takaa yhtä ilmoitusta. Toimituspyyntö voi onnistua samalla, kun sen kuittaus katoaa, jolloin lähettäjä yrittää uudelleen. Botti tarvitsee transaktiotunnisteen lisäksi ilmoitustunnisteen ja toimitustietueen.
Päätä, mitä toistuvan tapahtuman tulee tehdä. Harmiton kaksoiskappale ei ehkä tuota uutta viestiä, kun taas olennainen luokituksen korjaus voi ansaita alkuperäiseen ilmoitukseen liitetyn päivityksen. Nämä ovat eri tapauksia eikä niihin tule soveltaa samaa yksinkertaista kaiken estävää sääntöä.
Mieltymykset kuuluvat vastaanottajan työnkulkuun. Satunnaista tutkimusta varten lisätty osoite voi tarvita päivittäisen yhteenvedon, kun taas tilitäsmäytystä varten seurattu tili voi vaatia poikkeamasta pikaisen ilmoituksen. Sama taustatapahtuma voi tukea eri toimituskäytäntöjä tosiasiatietueensa muuttumatta.
Testaa ilmoitusten poistaminen käytöstä ja palauttaminen käyttöön. Botin tulee selittää, lähettääkö se väliin jääneet tapahtumat, vain tulevat tapahtumat vai merkityn yhteenvedon. Vanhan jonon yllättävä uudelleentoisto voi saada hiljaisen osoitteen näyttämään äkisti aktiiviselta ja vääristää vastaanottajan tulkintaa.
Erota seuranta havaitun tilin toiminnan jäljittelystä
Seurantabotin tuotos on näyttöä julkisesta toiminnasta eikä lupa käydä kauppaa. Havaitulla tilillä voi olla piilevää taustaa, muita omistuksia tai erilainen tavoite. Sen transaktio on myös voinut liikuttaa markkinaa ennen kuin seuraaja saa ilmoituksen.
Solanan älykkään rahan seurannan opas selittää, miksi houkuttelevat tulosnimikkeet vaativat riippumatonta arviointia. Jos erillinen sovellus seuraa havaittua toimintaa, se lisää päätöksiä omaisuuserän kelpoisuudesta, määrästä, ajoituksesta ja tilivaltuuksista. Pelkkä seuranta ei voi oikeuttaa näitä päätöksiä.
Solanan älykkään rahan seurantabotti voi ylläpitää pisteitä tai tutkimusjonoja, mutta ne pysyvät tulkintoina. Pidä keruupalvelun tosiasiallinen tapahtumavirta saatavilla, jotta käyttäjä voi erottaa tapahtuneen siitä, mitä malli tai sääntö ehdottaa sen tarkoittavan.
Erottelu parantaa myös luotettavuutta. Pelkän lukuseurannan häiriön ei pitäisi suoraan luoda uutta kauppaa. Havaintoihin ja tilin hallintaan liittyvien vastuiden pitäminen erillään vähentää riskiä, että puutteellisesta tai monistetusta viestistä tulee tahaton taloudellinen toimi.
Testaa Solanan lompakkoseurantabotin arkkitehtuuria huonoilla syötteillä
Solanan lompakkoseurantabotin arkkitehtuurissa tulee olla raja, jossa odottamaton syöte muuttuu tarkasteltavaksi ongelmaksi harhaanjohtavan tapahtuman sijaan. Puuttuva kenttä, vieraassa esitysmuodossa oleva määrä tai tukematon transaktioversio ei saa muuttua huomaamatta nollaksi vain siksi, että nolla on helppo tallentaa.
Käytä tarkoituksella puutteellisia esimerkkejä tämän rajan testaamisessa. Anna kaksoiskappaleviite, puuttuva aikaleima, tuntematon käsky ja määrä, jonka tokenin desimaalit eivät ole saatavilla. Kerro kunkin odotettu toiminta: säilytä viite, merkitse puutteellinen näyttö ja vältä varman taloudellisen nimikkeen antamista, kunnes vaadittu tulkinta on mahdollinen.
Erota yksi huono kohde laajemmasta lähdehäiriöstä. Tukematon käsky muuten yhtenäisessä virrassa voi vaatia paikallista tarkastelua, kun taas jokaisesta kyselystä virheellistä tietoa palauttava lähde voi oikeuttaa kyseisen keruureitin keskeyttämisen. Käyttäjä tarvitsee riittävän asiayhteyden erottaakseen nämä lukematta rajatonta toistuvien virheiden lokia.
Kun jäsennin päivitetään, aja olennaiset vertailutapaukset uudelleen ja vertaa syntyviä luokituksia. Korjatun nimikkeen tulee säilyttää alkuperäinen transaktiotunnisteensa ja kirjata muuttunut tulkinta. Näin keruuhistoria voi tarkentua ajan myötä teeskentelemättä, ettei aiempaa epävarmuutta ollut, tai ilmoittamatta käyttäjille korjauksesta kuin se olisi uusi transaktio.
Harjoittele uudelleenkäynnistystä keskeneräisellä putkella
Hyödyllinen uudelleenkäynnistystesti alkaa useista tunnetuista tiloista: jo tallennetuista viitteistä, hakua yhä odottavista yksityiskohdista, luokitelluista mutta ilmoittamattomista tapahtumista sekä ilmoituksesta, jonka toimitustulos on epävarma. Pysäytä ja käynnistä prosessi uudelleen ja varmista sitten, että kukin kohde jatkaa määritellyllä tavalla.
Palautuneen botin ei pitäisi hukata keskeneräisiä kohteita eikä toistaa jokaista valmistunutta kohdetta uutena toimintana. Vakaat tunnisteet ja pysyvät etenemistietueet tekevät tämän mahdolliseksi. Pelkkään muistissa olevaan kursoriin luottava prosessi ei voi osoittaa samaa palautumiskäyttäytymistä odottamattoman keskeytyksen jälkeen.
Tarkista näkyvä kattavuusraportti tämän jälkeen. Käyttäjän tulee tietää, mikä aikaväli rakennettiin uudelleen, mitkä tietueet ovat yhä ratkaisematta ja viivästyivätkö ilmoitukset. Vihreä yhteysilmaisin on vain yksi pieni osa näytöstä, että seurantapalvelu on palautunut.
Hyvin suunniteltu Solanan lompakkoseurantabotti tuottaa tutkimustietueen, johon voi luottaa sen ilmoitetussa rajauksessa. Se kerää johdonmukaisesti, nimeää varovaisesti ja selittää aukkonsa. Nämä ominaisuudet tekevät syötteestä hyödyllisen silloinkin, kun taustatoiminta on monimutkaista, teeskentelemättä julkisten havaintojen paljastavan jokaista motiivia tai takaavan onnistunutta kaupankäyntipäätöstä.