En NFT-handelsbot har brug for en præcis kontomodel, før den har brug for en større overvågningsliste over samlinger. Kontoen kan indeholde ejede genstande, signerede købstilbud, aktive salgsopslag og transaktioner med stadig usikre udfald. Registreringerne beskriver forskellige økonomiske tilstande. Samling i ét beholdningstal gør senere beslutninger upålidelige.
Et beholdningsbevidst design forbinder hver tilsigtet handel med det, kontoen stadig kan anskaffe eller sælge, og derefter med de aktivændringer, der faktisk indtræffer. Det bevarer præcis genstandsidentitet, antal og omkostninger gennem overgangene. En ny markedsmulighed vurderes mod denne aktuelle registrering frem for en saldo kopieret fra en tidligere skærm.
Eksemplerne bruger fiktive samlinger, ETH-beløb og antagne omkostninger. De beskriver en arbejdsgang frem for implementering af en bestemt protokol. Faktiske tokenstandarder, betalingsaktiver og markedspladsruter afgør, hvilken dokumentation og hvilke tilladelser hver handling kræver.
Giv NFT-handelsbottens beholdning en præcis betydning
NFT-handelsbottens beholdning er de aktiver, som faktisk besiddes under kontoens valgte verifikationspolitik. Det er ikke en liste over genstande, softwaren ønsker at købe, et sæt signerede tilbud eller en gruppe NFT'er, som en markedspladssøgning for nylig viste.
Registreringen bør identificere kæde, aktividentifikator, standard, antal og kontrollerende konto. Et visningsnavn kan hjælpe et menneske med at genkende genstanden, men beholdningslogikken bør bruge identifikatorer, der skelner ét krav fra et andet. Lignende kunst gør ikke to tokens indbyrdes udskiftelige.
Tilknyt transaktionen eller anden dokumentation, der fastslog beholdningen. Bevar også tidspunktet og kædetilstanden ved verifikation. Ændrer en ekstern wallethandling ejerskabet, skal beholdningen afspejle den, selv om botten ikke tog initiativet.
Definitionen giver systemet et stabilt spørgsmål: hvad kan kontoen dokumentere, at den ejer nu? Svaret kan omfatte uafklarede forskelle frem for at foregive, at et forsinket markedspladsindeks og en frisk ejerskabsobservation nødvendigvis stemmer overens.
Bevar ordrer i deres egen registrering
En ordre beskriver vilkår, hvorunder en handel kan ske. Signering af en ordre er ikke det samme som fuldførelse af aktivudvekslingen. OpenSeas Seaport-oversigt introducerer forskellen mellem tilbudte genstande og det vederlag, der kræves til gengæld, for understøttede EVM-transaktioner.
Ved et købstilbud kan kontoen skabe en mulig fremtidig anskaffelse uden straks at modtage NFT'en. Ved et salgsopslag kan kontoen forblive ejer og samtidig udtrykke salgsvillighed. Beholdnings- og ordreregistreringer behøver derfor separate tilstande og en klar forbindelse.
Sporing af signerede NFT-ordrer bør bevare ordreidentitet, relevant kæde og protokol, vilkår, udløb og relevant statusdokumentation. En lokal betegnelse som offentliggjort bør beskrive det, applikationen faktisk ved, frem for at antyde, at ordren kan eksekveres frem til sit nominelle udløb.
Vejledningen til en OpenSea-bot forklarer tilladelser og markedspladsdata nærmere. Forskellen betyder noget her, fordi læsning af en ordre, oprettelse af en signatur og fuldførelse af en overførsel er forskellige evner. En kontomodel bør ikke udlede én af tilstedeværelsen af en anden.
Adskil anskaffelseskapacitet fra walletsaldo
En synlig walletsaldo beskriver ikke alle potentielle forpligtelser. Flere købstilbud kan trække på samme betalingsaktiv, mens afventende transaktioner allerede kan bruge midler, som den seneste lokale saldo ikke har afstemt. En handelspolitik behøver sin egen fordelingsberegning.
Antag, at den fiktive konto tillader 2.5 ETH i samlingseksponering målt ved anskaffelsespriser og reserverede nye køb. Den ejer tre genstande anskaffet til 0.3, 0.45 og 0.6 ETH, i alt 1.35 ETH. To mulige køb reserverer yderligere 0.4 ETH hver.
Politikken medregner derfor 2.15 ETH i forpligtelser og efterlader 0.35 ETH. Et nyt forslag, der kræver 0.38 ETH, passer ikke ind. Konklusionen følger den valgte eksponeringspolitik, selv hvis walleten har tilstrækkeligt likvide aktiver til at indsende transaktionen.
Eksemplet er bevidst enkelt. En anden politik kan bruge stressværdier eller separate grænser pr. genstand og samling. Uanset mål skal det angives udtrykkeligt, og samme økonomiske forpligtelse skal tælles én gang. En uforklaret total er svær at gennemgå, når saldi, tilbud og beholdninger ændres sammen.
Reserver ressourcer, før konkurrerende opgaver kan bruge dem
To dele af botten kan undersøge samme resterende kapacitet og hver konkludere, at et køb passer ind. Godkender de uafhængigt, kan de samlede handlinger overskride grænsen. Reservationstrinnet bør derfor koordinere beslutninger, før nogen af opgaverne skaber en ny forpligtelse.
På den fiktive konto kan to samtidige forslag på hver 0.25 ETH ikke begge bruge samme ramme på 0.35 ETH. Første accepterede reservation efterlader 0.10 ETH under politikken. Det andet forslag bør revurderes mod den opdaterede tilstand.
Bevar reservationens ejer og formål. Den bør pege på en økonomisk hensigt, såsom anskaffelse af en bestemt genstand, og forblive forbundet med den endelige ordre eller transaktion. Et generisk fradrag uden reference kan blive hængende eller frigivet to gange.
Det er et krav om kontokonsistens frem for en prognose om markedsforhold. Selv en perfekt udvælgelsesmodel kan skabe uønsket eksponering, hvis forslag deler budget uden koordinering. Reservationsregistreringen synliggør samspillet, før faktiske køb ankommer.
Spor overlappende tilbud uden at antage, at de udelukker hinanden
En konto kan have tilbud på genstande, egenskaber eller samlinger med overlappende berettigelsesgrupper. Systemet bør forstå, hvilke genstande der kan opfylde hvert tilbud, og hvor mange anskaffelser der fortsat er mulige. Et fælles tema gør ikke separat signerede forpligtelser gensidigt udelukkende.
Eksempelvis kan et genstandsspecifikt tilbud og et bredt samlingstilbud begge være aktive. At én genstand kan opfylde begge, fastslår ikke, at der kun kan ske én anskaffelse i hele samlingen. En anden berettiget indehaver kan acceptere det bredere tilbud.
Beholdningsmodellen skal forbinde tilbuddene med deres antal, finansiering og rutesemantik. Undgå at beregne eksponering alene ved at tælle særskilte samlingsnavne eller viste ordrerækker. Spørgsmålet er, hvad kontoen kan anskaffe, hvis kompatible ordrer eksekveres.
Ændring af ét tilbud bør ikke ubemærket fjerne et andet fra registreringen. Ønsker operatøren en erstatning, skal det fastslås, hvordan den gamle instruktion bliver uvirksom efter gældende regler, og eventuel resterende usikkerhed bevares. En erstatningsbetegnelse i applikationen omskriver ikke markedspladsens tilstand.
Hold salgsopslag adskilt fra disponibel beholdning
En genstand i et salgsopslag kan fortsat være ejet og samtidig være bundet til et muligt salg. Botten kan også skulle hindre en anden intern opgave i at planlægge en uforenelig handling med samme genstand. Det er en lokal koordineringsregel adskilt fra kædens ejerskabsregistrering.
Er én NFT udbudt via to kompatible ruter, kan et salg gennem den ene påvirke den andens gyldighed. Botten bør undersøge og afstemme begge registreringer ved ejerskabsændring. Den bør ikke antage, at alle eksterne grænseflader straks fjerner forældede opslag.
En senere genanskaffelse af samme identifikator giver endnu en grund til at undersøge gamle tilladelser. Om en tidligere ordre igen kan blive relevant, afhænger af faktiske vilkår og ugyldiggørelsestilstand. At behandle en genstand som permanent sikret mod gamle instruktioner, blot fordi den én gang forlod walleten, er en udokumenteret genvej.
Et nyttigt design bevarer en liste over aktive eller uafklarede salgsforpligtelser knyttet til hver genstand. Listen hjælper operatøren med at forstå, hvad der stadig kan ske, og hvad der bør bringes til ophør, når handelsplanen ændres.
Fortolk annullering efter dens faktiske mekanisme
Annullering er en tilstandsovergang, der kræver dokumentation. En lokal anmodning, et markedspladssvar og en bekræftet ugyldiggørelse på kæden kan give forskellige garantier. Botten bør registrere den anvendte mekanisme og resterende usikkerhed.
OpenSeas reference til ordreannullering uden for kæden tager specifikt forbehold ved annullering, når tilladelse til opfyldelse allerede er udstedt. Det er en grund til at undersøge den aktuelle rutesemantik frem for at erklære ethvert vellykket API-svar for et ubetinget ophør af al mulig eksekvering.
Fuldføres et salg eller køb under annulleringen, skal beholdningen registrere resultatet. Operatørens hensigt om at standse sletter ikke overførslen. Enhver uopfyldt eller på anden måde resterende forpligtelse skal derefter håndteres efter ordrens faktiske struktur.
Frigiv kun lokale reservationer, når relevant dokumentation understøtter det. En midlertidig forsinkelse i disponibel kapacitet er bedre end at fortælle en anden opgave, at midler er frie, mens den tidligere forpligtelse stadig kan eksekveres.
Giv afventende transaktioner deres egen tilstand
En transaktion kan være indsendt, observeret som afventende, inkluderet, mislykket eller endnu uafklaret fra applikationens synspunkt. Betegnelserne bør følge tilgængelig kædedokumentation og kontoens bekræftelsespolitik frem for en timer valgt for at få grænsefladen til at se beslutsom ud.
Den afventende registrering bevarer oprindelig hensigt, transaktionsreference, forventede aktiver og reserverede ressourcer. Går svaret tabt, giver registreringen udgangspunktet for genopretning. En ny proces bør ikke skulle gætte, hvilket køb den forrige forsøgte.
Skab ikke en anden anskaffelse, blot fordi det første forsøg mangler et bekvemt resultat. Erstatnings- og gentagelsesadfærd skal følge kædens transaktionssemantik. En ny økonomisk instruktion adskiller sig fra genindsendelse eller undersøgelse af en eksisterende.
Vejledningen til en automatiseret NFT-bot uddyber operatørindgriben og grænser for ubemandet drift. For beholdningen er hovedpointen, at usikkerhed forbliver en udtrykkelig kontotilstand med en ressourcemæssig konsekvens, indtil den afklares.
Opdater beholdninger ud fra verificerede aktivændringer
Når en transaktion fuldføres under den valgte verifikationspolitik, forbindes dens faktiske aktivændringer med den tilsigtede handel. Bekræft genstand, antal, modtager og betaling frem for kun at stole på en generel succesindikator.
En vellykket transaktion, der udfører en anden tilladt handling, bør ikke automatisk skabe den tilsigtede NFT-beholdning i regnskabet. Systemet behøver dokumentation for den konkrete overførsel eller saldoændring. Forskellen er særlig nyttig, når en transaktion indeholder flere operationer.
Gentagne observationer af samme økonomiske overførsel bør styrke eller opdatere dokumentationen uden at duplikere beholdningen. Gem en stabil identitet for hændelsen eller transaktionsvirkningen, og følg den relevante protokols revisionssemantik. Antal ankomne beskeder er ikke en aktivmængde.
Vises den forventede genstand aldrig, registreres forskellen. Opfind ikke en beholdningsrække for at få forslaget til at fremstå færdigt. Formålet med afstemning er at sammenligne hensigt og virkelighed, også når de afviger.
Bevar antal for NFT'er med flere enheder
Ikke enhver NFT-beholdning beskrives tilstrækkeligt ved én ejer og én unik enhed. Nogle standarder repræsenterer flere enheder under én tokenidentifikator. Kontomodellen behøver korrekt antalssemantik, før den kan beregne disponibel beholdning eller salg.
Antag, at en fiktiv anskaffelse køber fem enheder til hver 0.08 ETH med en yderligere samlet omkostning på 0.01 ETH. Samlet anskaffelsespris er 0.41 ETH. Ved en enkel ligelig fordeling bærer hver enhed 0.082 ETH i omkostning.
Sælges to enheder senere til hver 0.11 ETH, er bruttoprovenuet 0.22 ETH. Med en antaget samlet udtrædelsesafgift på 0.006 ETH er nettoprovenuet 0.214 ETH. Fordelt anskaffelsespris for enhederne er 0.164 ETH, hvilket efterlader en realiseret gevinst på 0.05 ETH.
Tre enheder forbliver med 0.246 ETH i fordelt omkostning. Deres fremtidige resultat er uafklaret. At tokenidentifikatoren stadig findes i walleten, betyder ikke, at de oprindelige fem enheder består, og delsalget lukker ikke hele positionen.
Opbyg et regnskab over NFT-anskaffelsespriser
Et regnskab over NFT-anskaffelsespriser forbinder hver beholdning med faktisk betalt vederlag og relevante transaktionsudgifter. Estimater kan understøtte godkendelse, men faktiske beløb hører til i den endelige bogføring. Bevar begge, så forskelle kan forklares.
Omkostninger kan være angivet i forskellige aktiver. Gem oprindelig valuta og beløb, og brug derefter en udtrykkelig omregningsmetode til en fælles rapporteringsenhed. En ændring i ETH's dollarpris bør ikke ændre det antal ETH, der er registreret som brugt på det oprindelige køb.
Fordel fælles omkostninger konsekvent, når én transaktion anskaffer flere genstande. Ligelig fordeling kan være forståelig i et undervisningseksempel, mens en anden metode kan passe bedre til et bestemt regnskabsformål. Angiv metoden frem for at lade den fordeling gælde, som giver det mest gunstige afkast pr. genstand.
Betalinger til skabere og markedspladsafgifter kræver samme omhu. Er de allerede indbygget i det samlede vederlag eller nettoprovenuet, må de ikke trækkes fra igen. Regnskabet bør beskrive faktisk kontantbevægelse frem for at samle overlappende betegnelser for samme udgift.
Skeln interne overførsler fra køb og salg
Flytning af en NFT mellem konti kontrolleret af samme operatør kan ændre genstandens placering uden at skabe salgsprovenu. En overførsel til den overvågede wallet kan også ankomme uden tilstrækkelig dokumentation til at fastslå historisk omkostning.
Registrer bevægelsen og dens kendte relation til kontoen. Tildel ikke nulomkostning blot fordi ingen betaling fulgte den observerede overførsel. Ukendt kostpris bør forblive ukendt, indtil dokumentation fastslår den, og enhver rapport bør forklare den manglende værdis virkning på totalerne.
Tilsvarende er en udgående overførsel ikke automatisk et rentabelt salg eller et tab. Det kan være flytning af opbevaring, en gave eller en anden operation. Klassifikationen bør følge dokumentation om vederlag og formål frem for blot NFT-overførslens retning.
Det hindrer aktivitetstal i at fordreje resultater. En travl wallet kan skabe mange overførsler og kun få reelle køb eller salg. Beholdningsbevægelse og økonomisk resultat er kun forbundet, når relevant transaktionskontekst understøtter forbindelsen.
Bevar historikken, når ejerskab forlader kontoen og vender tilbage
Samme NFT-identifikator kan passere gennem kontoen flere gange. Hver anskaffelse har eget tidspunkt, egen omkostning og egen handelsidé. Genbrug af én række ved overskrivning af tidligere omkostning ville slette resultatet af den første ejerperiode.
Opret en særskilt positionsperiode eller en anden klar historisk struktur. Et salg lukker det relevante antal i den tidligere periode; et senere køb begynder en ny. Genstandens identitet er den samme, mens den økonomiske historik får endnu et kapitel.
Det betyder noget ved vurdering af strategiens ejertid og omsætning. Ét felt for aktuelt ejerskab kan ikke vise, hvor meget kapital der blev bundet gennem gentagne besøg, eller om et senere køb var dyrere end det tidligere salg.
Bevarelse af den tidligere registrering hjælper også med at undersøge gamle ordrer. En tilbagevendende genstand bør kontrolleres mod uafklarede tilladelser frem for at blive behandlet som et helt ukendt aktiv uden tilknyttede tidligere forpligtelser.
Afstem efter manuelle handlinger og genstarter
En bot er sjældent den eneste mulige kilde til kontoaktivitet. Ejeren kan bruge en anden grænseflade, overføre en genstand eller acceptere et tilbud manuelt. Beholdningsprocessen skal indarbejde ændringerne uden at behandle dem som umulige, fordi intet lokalt forslag findes.
Indlæs efter genstart uafklarede ordrer og transaktioner, før ny eksponering skabes. Sammenlign aktuelt ejerskab og betalingssaldi med den senest understøttede registrering. Enhver forskel bør forklares gennem observeret aktivitet eller efterlades som en udtrykkelig uoverensstemmelse til gennemgang.
En genstart bør ikke nulstille forbrugstællere eller kassere afventende reservationer, blot fordi de kun blev lagret i hukommelsen. Kontoens forpligtelser overlever applikationsprocessen. Varige registreringer lader den genoptagne arbejdsgang fortsætte samme økonomiske historik.
Vejledningen til NFT-handelssoftware behandler regnskabskvalitet som et udvælgelseskriterium. Et attraktivt dashboard er mindre nyttigt, hvis forbindelsen mellem åbne ordrer, faktiske beholdninger og historiske omkostninger går tabt ved hver genforbindelse.
En ERC-1155-handelsbot behøver antalsbevidste beholdnings- og forpligtelsesregistreringer, fordi flere enheder under en tokenidentifikator ændrer regnskabsproblemet.
Test NFT-handelsbotten med modstridende dokumentation
En nyttig gennemgangsøvelse omfatter mere end et uproblematisk køb efterfulgt af et uproblematisk salg. Giv systemet en dubleret overførselsobservation, en forsinket markedspladsopdatering, en manuel udgående overførsel og en annullering, der overlapper med eksekvering. Definer den forventede kontotilstand før øvelsen.
I eksemplet med fem enheder bør en dubleret notifikation stadig efterlade fem anskaffede enheder. Et verificeret salg af to bør efterlade tre. En senere forældet besked om fem enheder bør ikke ubemærket overskrive den nyere understøttede tilstand uden undersøgelse af kilde og observationstidspunkt.
Test ressourcetotaler såvel som genstandsantal. En afklaret fejl kan frigive købskapacitet og samtidig bevare en faktisk netværksudgift. Et fuldført køb flytter det økonomiske beløb fra afventende forpligtelse til beholdningsomkostning frem for at medregne begge på ubestemt tid.
Målet er en sammenhængende kontofortælling. Læseren bør kunne forklare, hvad der ejes, hvad der stadig kan eksekveres, og hvordan de registrerede omkostninger opstod. Fundamentet gør handelsbeslutninger mulige at gennemgå, selv når markedsdata og applikationstilstand ankommer på forskellige tidspunkter.