En handelsbot for ERC-721 må holde oversikt over individuelle tokener gjennom hele handelen. En samlingssaldo kan fortelle operatøren at kontoen eier flere gjenstander, men kan ikke identifisere hvilken gjenstand en bestemt salgsoppføring tilbyr, eller hvilken anskaffelse et senere salg avslutter. Arbeidsflyten trenger en registrering på gjenstandsnivå som er knyttet til dokumentasjon på eierskap, tillatelser, ordrer og kostnader.
Tokenstandarden og handelsplassen løser forskjellige problemer. Et standardgrensesnitt hjelper programvare med å samhandle med eiendeler; det gir verken en verdsettelsesmetode, en garanti for en kjøper eller en definisjon av hver markedsplassordre. En pålitelig utforming holder disse lagene atskilt, slik at et vellykket eierskapsoppslag ikke forveksles med dokumentasjon på at en foreslått handel er attraktiv eller gjennomførbar.
Denne veiledningen bruker oppdiktede tokenidentifikatorer og hypotetiske ETH-beløp. Den beskriver en driftsmodell fremfor instruksjoner for å sette en bestemt protokoll i drift. Målet er en registrering som forblir sammenhengende gjennom et vanlig kjøp, en ekstern overføring, et mislykket forsøk og et senere salg.
Gi ERC-721-boten en journal på gjenstandsnivå
Den offisielle ERC-721-spesifikasjonen definerer et grensesnitt for å spore og overføre særskilte NFT-er. Den omfatter eierskapsoppslag, tokenspesifikke godkjenninger og operatørgodkjenninger. Metadata og opplisting av tokenidentifikatorer er valgfrie utvidelser. Disse skillene betyr noe når man avgjør hva en bot kan verifisere direkte, og hvilke ytterligere data den trenger.
Bruk blokkjeden, kontraktadressen og tokenidentifikatoren sammen som kontoens eiendelsnøkkel. Bevar identifikatoren i en representasjon som beholder hele verdien. En lettlest etikett kan følge med, men etiketten bør aldri bli den eneste referansen som brukes til å knytte en salgsoppføring til en beholdning.
Lag en separat registrering for hver gjenstand kontoen har anskaffet, overført eller forsøker å handle. Ta med dokumentasjonen som etablerte registreringen, og observasjonens tidspunkt eller kontekst på blokkjeden. En totalsum for samlingen kan da utledes fra gjenstandsregistreringene fremfor å erstatte dem.
Denne strukturen gjør det mulig å handle på avvik. Hvis samlingsopptellingen sier tre, men gjenstandsjournalen inneholder fire verifiserte beholdninger, har systemet et konkret avstemmingsproblem. Uten gjenstandsidentiteter blir avviket et uforklart tall som kan forplante seg til beslutninger om salgsoppføringer og eksponering.
Skill eiendelslaget fra ordrelaget
En eiendelsregistrering beskriver tokenet og det observerte eierskapet. En ordreregistrering beskriver en foreslått handel på bestemte vilkår. De kan vise til samme gjenstand uten å beskrive den samme tilstanden. Et token som er lagt ut for salg, kan fortsatt eies, og et kjøpstilbud kan finnes uten at en beholdning er anskaffet.
Lagre ordreidentitet, eiendelsreferanse, handelsside, betalingsvilkår, utløp og dokumentasjon på gjeldende status separat. Unngå ett enkelt statusfelt som forsøker å gjøre eid, lagt ut, tilbudt og solgt gjensidig utelukkende. Noen av tilstandene kan eksistere samtidig, mens andre krever verifiserte overganger før kontoen kan stole på dem.
En konto kan for eksempel eie det oppdiktede tokenet 317 og ha en salgsinstruksjon knyttet til det. Gjenstanden forblir i beholdningen til den relevante dokumentasjonen viser at den er avhendet. Hvis den fjernes når salgsoppføringen opprettes, undervurderes eksponeringen, og kontoens tilgjengelige eiendeler kan fremstilles feil.
Tilsvarende bør et tiltenkt kjøp av token 418 inngå i en forpliktelsesregistrering når det er relevant, uten å fremstå som eierskap. Skillet bidrar til å hindre at et senere salgsforslag antar at den forventede anskaffelsen allerede er fullført. Ordrer uttrykker intensjoner og forpliktelser; beholdningsregistreringen krever dokumentasjon på faktiske eiendelsendringer.
Definer omfanget av eierskapsdokumentasjonen
Velg hvilken dokumentasjon arbeidsflyten krever før et token behandles som eid eller avhendet. Bevar observasjonskonteksten, slik at systemet kan skille en gjeldende kontroll fra en gammel indeksoppføring. Forskjellige kilder kan oppdateres på forskjellige tidspunkter, og uenighet bør forbli synlig til den er avstemt.
En prosess for avstemming av ERC-721-eierskap bør sammenligne journalen på gjenstandsnivå med den relevante, gjeldende kontodokumentasjonen. Hvis en gjenstand ble flyttet utenfor boten, må journalen gjenspeile hendelsen. Botens egen handelshistorikk er ikke en fullstendig beskrivelse av en konto som også kan styres gjennom andre verktøy eller enheter.
Ikke utled at et manglende søkeresultat beviser at en gjenstand er borte. Datakilden kan være ufullstendig eller forsinket. Tilsvarende fastslår ikke et mellomlagret bilde i et lommebokgrensesnitt gjeldende eierskap. Arbeidsflyten bør identifisere den konkrete dokumentasjonen som støtter en tilstandsovergang, fremfor å stole på visuell gjenkjennelse.
Når observasjoner er i konflikt, sett handlinger som avhenger av den omstridte gjenstanden, på pause. Et nytt forslag om salgsoppføring eller overføring bør ikke gå videre mens kontoen er usikker på om den kontrollerer tokenet. Andre uavhengige observasjoner kan fortsette, men det uavklarte avviket bør forbli en del av driftstilstanden.
Gjennomgå tillatelser som en egen kontotilstand
Standarden skiller mellom godkjenning for ett individuelt token og godkjenning for en operatør over eierens tokener i den relevante kontrakten. En handelsarbeidsflyt bør vise det forespurte omfanget tydelig og bevare kontoens observerte tillatelsestilstand. En snever intensjon om kjøp eller salg bør ikke skjule en bredere endring av fullmakter.
Gjennomgang av godkjenningsomfang for ERC-721 er en annen beslutning enn prisvurderingen. Et forslag kan ha akseptabel økonomi og samtidig be om fullmakter utenfor operatørens plan. Gjennomgangen bør identifisere kontoen, samlingen, parten som får fullmakten, og det tiltenkte formålet før tillatelsen gis eller legges til grunn.
Knytt tillatelser til ruten som trenger dem. Hvis en strategi endrer utførelsesruten, skal man ikke anta at en eksisterende fullmakt fortsatt er passende bare fordi et lignende navn vises i grensesnittet. Fullmaktsregistreringen bør bruke verifiserte identifikatorer og forklare hvorfor tillatelsen fortsatt er nødvendig.
Etter at et eksperiment er avsluttet, gjennomgå utestående fullmakter i samsvar med kontoens regler. Å stoppe strategisløyfen forklarer ikke i seg selv tilstanden til tillatelser som tidligere er gitt. Kontoregistreringen bør skille mellom deaktivert automatisering og endret fullmakt, slik at operatøren vet hvilken kontroll som faktisk er fjernet.
Verifiser den tiltenkte mottakeren og overføringsruten
Et overføringsforslag bør identifisere mottakeradressen og dens rolle. Er mottakeren eierens handelskonto, en separat oppbevaringsadresse eller en annen deltaker etter byttevilkårene? Adresser som ligner hverandre, eller kjente etiketter fjerner ikke behovet for å verifisere forholdet før godkjenning.
ERC-721-standarden tilbyr atferd for sikre overføringer som kontrollerer mottakergrensesnittet til en kontraktmottaker. Mekanismen er nyttig, men fastslår verken at mottakeren er adressen brukeren mente, eller at alle bredere handelsvilkår er passende. Forslaget trenger fortsatt en meningsfull gjennomgang av mottakeren.
Bevar overføringsruten som utførelsesutformingen legger til grunn. Hvis arbeidsflyten forventer at den anskaffede gjenstanden kommer til én konto, men den faktiske ruten bruker en annen, vil eierskapsavstemmingen ellers rapportere et manglende token. Registreringen bør forklare enhver mellomliggende eller utpekt mottaker som er relevant for den faktiske transaksjonen.
Test adressehåndteringen med klart atskilte, oppdiktede kontoer under øvelsen. Ta med et forslag med feil mottakeradresse, og bekreft at gjennomgangen fanger det opp. En øvelse som bare kontrollerer beløp, kan overse en mer grunnleggende feil: en korrekt priset anskaffelse som leveres et sted utenfor den tiltenkte kontomodellen.
Behold metadataenes nytte uten å gjøre dem avgjørende for eierskap
Navn, bilder og egenskaper hjelper mennesker med å forstå hva en gjenstand representerer. De bør forbli knyttet til eiendelsnøkkelen som beskrivende informasjon fremfor å erstatte eierskapsregistreringen. En metadataoppdatering kan endre visningen mens den underliggende tokenidentiteten forblir den samme.
Lagre versjonen av den beskrivende informasjonen som brukes til en verdsettelsesbeslutning. Hvis utseendet eller egenskapene senere er annerledes, kan operatøren vurdere om den opprinnelige hypotesen avhang av den tidligere versjonen. Uten versjonshåndtering kan et gammelt forslag bli umulig å forklare fordi grensesnittet nå viser en annen beskrivelse.
Håndter manglende metadata uttrykkelig. Handelsprosessen kan kreve beskrivende dokumentasjon for verdsettelsen selv om den kan identifisere tokenet. I så fall er et utilgjengelig bilde eller egenskapssett en grunn til å sette verdsettelsestrinnet på pause, og ikke dokumentasjon på at eiendelen ikke finnes, eller at prisen bør antas å være lav.
Dette skillet beskytter også regnskapet. Å oppdatere en tittel eller et bilde bør verken opprette en ny beholdning, duplisere en anskaffelse eller løsne salgshistorikken fra gjenstanden. Journalens stabile nøkkel bevarer kontinuiteten mens beskrivende felt endres rundt den.
Beregn kostnaden for den enkelte gjenstanden
Knytt anskaffelsesutgifter til den faktiske gjenstanden og forsøket som medførte dem. Beløpet som betales for token 317, kan avvike vesentlig fra beløpet for token 418 selv om begge tilhører samme samling. Et samlingsgjennomsnitt kan være nyttig for rapportering, men bør ikke slette de individuelle kostnadsregistreringene.
Ved et hypotetisk kjøp på 0,60 ETH med henførbare utgifter på 0,03 ETH er anskaffelsesutlegget 0,63 ETH. Hvis gjenstanden senere selges for 0,70 ETH før salgsutgifter på 0,04 ETH, er netto salgsinnbetaling 0,66 ETH og den realiserte gevinsten 0,03 ETH. Hvis bare de to hovedprisene sammenlignes, rapporteres en større gevinst.
Registrer mislykkede forsøk separat når de medfører utgifter uten at gjenstanden anskaffes. Avgjør hvordan kostnadene inngår i eksperimentets resultatrapport, og anvend metoden konsekvent. Hvis de utelates fordi de ikke tilhører en fullført beholdning, fremstår strategien som billigere enn den var.
Hvis flere gjenstander deler en samlet utgift, dokumenter fordelingsmetoden fremfor å finne på en nøyaktig henføring som dokumentasjonen ikke støtter. Det viktige er at metoden brukes konsekvent og er gjennomsiktig. En kontrollør bør kunne gjenskape kontoens samlede utgift selv når fordelingen per gjenstand innebærer en uttrykkelig konvensjon.
Hindre motstridende handlinger på samme token
Én gjenstand kan tiltrekke flere handlingsforslag fra forskjellige deler av en arbeidsflyt. Én komponent kan forberede et salg mens en annen forbereder en overføring eller en revidert salgsoppføring. Systemet trenger en koordineringsregel på gjenstandsnivå, slik at intensjonene ikke går videre uavhengig av og uten kjennskap til hverandre.
Bruk en varig registrering av aktive intensjoner og avhengighetene deres. Hvis token 317 inngår i en uavklart handling, bør en annen handling vurderes mot denne tilstanden. Regelen bør overleve en omstart; et midlertidig flagg i minnet er utilstrekkelig hvis applikasjonen glemmer det etter et avbrudd.
Hold utfallene av kansellering og erstatning uttrykkelige. En kanselleringsforespørsel fastslår ikke i seg selv at en tidligere ordre ikke lenger kan utføres. Et erstatningsforslag må ta hensyn til den faktiske atferden i protokollen og på handelsplassen fremfor å anta at en lokal etikett har fjernet den opprinnelige forpliktelsen.
Dette er én grunn til at en NFT-handelsagent trenger en tydelig grense mellom planlegging og godkjenning. En planlegger kan foreslå flere alternativer, men komponenten som har utførelsesfullmakten, bør velge og spore en sammenhengende handlingssekvens. Flere plausible planer begrunner ikke samtidige, motstridende instruksjoner.
Avstem et usikkert kjøp før et nytt forsøk
Anta at en kjøpsforespørsel sendes inn, og at forbindelsen brytes før applikasjonen mottar et resultat. Kontoen har nå et usikkert utfall fremfor en bekreftet feil. Å gjenta forespørselen uten undersøkelse kan skape ytterligere eksponering eller unødvendige utgifter, avhengig av ruten og forslaget.
Lagre de tilgjengelige transaksjons- og ordreidentifikatorene sammen med den opprinnelige intensjonen. Ved gjenoppretting brukes disse identifikatorene og kontodokumentasjonen til å avgjøre hva som skjedde. Hvis informasjonen fortsatt er ufullstendig, bevar usikkerheten og blokker avhengige handlinger fremfor å fylle gapet med en antakelse.
En arbeidsflyt for gjenoppretting av ERC-721-kjøp bør knytte sammen tre registreringer: hva boten hadde til hensikt, hva den sendte inn, og hva kontoen nå viser. Registreringene stemmer kanskje ikke overens umiddelbart. Gjenopprettingsprosessen skal avstemme dem før strategien fortsetter som om gjenstanden definitivt er til stede eller fraværende.
Øv på avbruddet med vilje. Start applikasjonen på nytt etter en hypotetisk innsending, verifiser at den husker den uavklarte handlingen, og bekreft at den ikke oppretter en ny anskaffelse automatisk. Denne testen undersøker kontomodellen under en realistisk feiltilstand uten å kreve et markedstap for å avdekke svakheten.
Skill ERC-721-botens beholdning fra mengdebaserte utgaver
Ikke bruk de samme antakelsene om enkeltgjenstander på hver tokenstandard bare fordi grensesnittet viser et NFT-miniatyrbilde. Kontomodellen bør identifisere standarden og bruke den tilsvarende betydningen av mengde og identitet som den faktiske eiendelen støtter. En generell registrering som utelater dette skillet, kan feiltolke beholdninger og ordrer.
Veiledningen til en handelsbot for ERC-1155 tar for seg tokentyper som har mengder, og tilhørende regnskapsspørsmål. En arbeidsflyt for ERC-721 bør uttrykkelig begrense omfanget hvis den ikke støtter slike operasjoner. Å avvise en eiendel som ikke støttes, er tydeligere enn å tvinge den inn i en registrering som er utformet for en annen standard.
Bevar dette omfanget i import- og oppdagelsesverktøy. Et samlingssøk kan returnere flere eiendelstyper, men utførelseslaget bør ikke utlede kompatibilitet fra søkeresultatet alene. Den foreslåtte handlingen må bestå kontrollene for støttede eiendeler før verdsettelse eller godkjenning kan gå videre.
Dette skillet forbedrer også rapporteringen. En opptelling av særskilte ERC-721-gjenstander bør ikke kombineres med mengder av en annen eiendelstype i en umerket «NFT-saldo». Operatøren trenger å vite hva hvert tall måler før det brukes til å vurdere konsentrasjonen i beholdningen eller tilgjengelig salgskapasitet.
Utform en avslutningsregistrering som lukker riktig anskaffelse
Når en gjenstand selges eller på annen måte avhendes, knytt hendelsen til den opprinnelige beholdningsregistreringen. Ta med den faktiske innbetalingen, utgiftene, mottakeradressen der den er relevant, og dokumentasjon på eierskapsendringen. En salgsinstruksjon alene bør ikke lukke anskaffelsen i journalen.
Bevar skillet mellom et salg og en overføring uten salg. Å flytte en gjenstand mellom kontoer kan endre oppbevaringen uten å gi handelsinnbetalinger. Hvis rapporteringssystemet behandler hver utgående overføring som et salg, kan det finne på inntekter eller forvrenge det realiserte resultatet. Registreringen trenger en årsak til bevegelsen, med usikkerhet markert når årsaken er ukjent.
Hvis det samme tokenet senere anskaffes på nytt, opprett en ny anskaffelsesperiode og bevar samtidig den tidligere historikken. Å gjenbruke ett kostnadsfelt for all tid ville slette forskjellen mellom den første og den andre eierperioden. Både tokenets stabile identitet og kontoens særskilte eierperioder bør forbli synlige.
Ved slutten av hver økt avstemmes åpne beholdninger, uavklarte handlinger og fullførte avhendinger. Totalsummene bør henge sammen med kontodokumentasjonen og pengebevegelsene. En korrekt liste over tokennavn er ikke nok hvis journalen ikke kan forklare pengene som ble brukt og hentet tilbake.
Øv med et lite sett av bevisst valgte tilfeller
Bruk en oppdiktet samling og noen få tokenidentifikatorer til å teste kontomodellen. Ta med én enkel anskaffelse, én ekstern overføring, ett mislykket forsøk og ett usikkert svar. Formålet er å verifisere tilstandsoverganger og registreringer fremfor å simulere en lønnsom samling.
Legg inn et avvik med vilje: en ordre som viser til en annen tokenidentifikator enn gjenstanden som vises. Arbeidsflyten bør avvise den før godkjenning. Test også en foreldet eierskapsobservasjon og et forslag som bygger på fullmakter utenfor det oppgitte omfanget. Hvert tilfelle undersøker en forskjellig grense i utformingen.
En NFT-bot for nybegynnere kan gi et bredere utgangspunkt for å lære disse skillene. ERC-721-øvelsen bør deretter konkretisere dem på nivået til den enkelte gjenstanden, slik at operatøren kan forklare nøyaktig hvilken eiendel og fullmakt hver handling gjelder.
Lagre tilfellene og de forventede utfallene som et gjennomgangssett for senere endringer. Hvis en ny funksjon endrer hvordan beholdningen lagres eller ordrer importeres, kjør de relevante tilfellene på nytt. Et lite, forståelig sett av feileksempler kan avdekke tilbakefall som et stort dashbord med vellykkede historiske handler ville overse.
Vanlige spørsmål om ERC-721-automatisering
Beviser samsvar med standarden at en NFT har verdi?
Nei. Standarden gjelder et grensesnitt og eiendelsatferd fremfor økonomisk etterspørsel eller en videresalgsgaranti. Verdsettelse krever separat dokumentasjon og forblir usikker. Et token som støttes teknisk, kan fortsatt være uegnet for en handelsstrategi fordi prisen, likviditeten eller antakelsene om eierperioden er lite attraktive.
Er en samlingssaldo nok for handel?
Den er utilstrekkelig for handlinger som retter seg mot en bestemt gjenstand. Arbeidsflyten trenger den relevante tokenidentiteten og gjeldende dokumentasjon på eierskap eller ordrevilkår som faktisk kan utføres. En samlingsopptelling kan støtte avstemming, men kan ikke identifisere hvilken anskaffelse et bestemt salg lukker, eller om den tiltenkte gjenstanden er tilgjengelig.
Kan jeg behandle hver utgående overføring som et salg?
Nei. En utgående overføring kan være en flytting av oppbevaringen eller en annen handling uten salg. Registrer dokumentasjonen og årsaken separat fra innbetalinger. Hvis formålet er ukjent, bevar usikkerheten fremfor å finne på en salgspris eller fjerne hendelsen fra kontohistorikken.
Hva viser at man er klar for et forsøk under tilsyn?
Operatøren bør kunne identifisere tokenet, forklare den forespurte fullmakten, gjenskape den foreslåtte kostnaden og avklare et usikkert utfall fra lagret dokumentasjon. Øvelsen bør også vise at motstridende handlinger og handlinger som ikke støttes, avvises. Disse evnene etablerer en forståelig prosess; de garanterer ikke en lønnsom handel.