En ERC-1155-handelsbot kræver en mængdehovedbog såvel som en aktividentifikator. En position kan indeholde flere enheder af én tokentype, og et foreslået salg kan kun vedrøre en del af positionen. Behandling af hver NFT-registrering som én enkelt udelelig genstand kan derfor forvrænge tilgængelige beholdninger, gennemsnitlige omkostninger og udestående forpligtelser.
Driftsudfordringen er at bevare forholdet mellem tokentype, mængde, erhvervelseshistorik og ordretilstand. En optælling af samlingsbilleder kan ikke besvare, hvor mange enheder der er tilbage efter en delvis afhændelse. Tilsvarende kan en samlet walletsaldo ikke vise, hvor meget af beholdningen der allerede er reserveret til andre instruktioner.
Denne guide bruger en fiktiv samling kaldet Lantern Editions og hypotetiske mængder og ETH-priser. Den forklarer regnskabs- og kontroldesign frem for en bestemt markedspladsimplementering. Hver faktisk udførelsesrute kræver sine egne verificerede vilkår, kontroller af understøttede aktiver og dokumentation for de resulterende kontoændringer.
Opbyg ERC-1155-handelsbotten omkring tokentyper
Den officielle ERC-1155-specifikation beskriver en kontraktgrænseflade, som kan håndtere flere tokentyper med saldi knyttet til en konto og et token-ID. Den omfatter enkelte og batchvise overførsler, batchforespørgsler om saldi og operatørgodkendelser. Disse evner bestemmer ikke, hvordan en markedsplads prissætter et eksemplar, eller om en bestemt ordre understøtter delvis udførelse.
Brug kæde, kontrakt og token-ID som typeidentitet, og gem derefter mængde separat. Et token-ID er ikke den beholdte mængde. Adskillelse af disse felter forhindrer, at en visningsidentifikator fortolkes som en mængde eller et beløb, og lader flere erhvervelsesregistreringer bidrage til én aktuel typesaldo.
Knyt en klar enhedsbetegnelse til hver mængde. Et forslag om fem eksemplarenheder bør ikke forveksles med fem forskellige tokentyper eller fem ETH i købekraft. Brugerfladen kan opsummere positionen, men den underliggende registrering bør bevare tilstrækkelig detalje til at rekonstruere den præcise tilsigtede overførsel.
Sammenligningen med en ERC-721-handelsbot er nyttig, fordi den synliggør et vigtigt modelleringsvalg. Software udformet omkring ejerskab af individuelle genstande bør ikke stiltiende genbruge antagelsen til registreringer med mængder. Identificér den understøttede standard før import af aktiver i handelshovedbogen.
Adskil beholdte, reserverede og tilgængelige mængder
Den observerede saldo besvarer, hvor mange enheder kontoen har under sin verificeringspolitik. Reserveret mængde besvarer, hvor mange enheder der er bundet i arbejdsgangen til aktive salgs- eller overførselshensigter. Tilgængelig mængde er en politikberegning, som tager højde for disse forpligtelser og eventuelle uafklarede uoverensstemmelser.
Antag, at en hypotetisk konto har 12 enheder af Lantern Edition 7. Én aktiv instruktion reserverer fire enheder, og en anden uafklaret handling vedrører to. Under en forsigtig politik, som reserverer begge, forbliver kun seks enheder tilgængelige til en ny instruktion. Rapportering af alle 12 som frit tilgængelige ville ignorere arbejdsgangens egne eksisterende forpligtelser.
Dokumentér, hvad der skaber og frigiver en reservation. Oprettelse af et udkast fortjener måske ikke samme behandling som godkendelse af en eksekverbar ordre, men forskellen skal være bevidst. En annulleringsanmodning bør ikke frigive beholdninger, før systemet har den dokumentation, det faktiske udførelsesdesign kræver.
Regler for ERC-1155-mængdereservation bør bestå gennem genstarter. Hvis reservationer kun findes i hukommelsen, kan genstart af applikationen få tidligere bundne beholdninger til at se tilgængelige ud igen. Rekonstruér reservationerne fra varige hensigts- og resultatregistreringer, før næste forslag får lov til at bruge saldoen.
Følg erhvervelsespartier uden at opfinde fysiske serienumre
Et erhvervelsesparti registrerer, hvornår og til hvilken omkostning kontoen fik en mængde. Det er en regnskabsregistrering, ikke nødvendigvis en påstand om, at individuelle enheder har separate serieidentiteter. Hovedbogen kan bevare den økonomiske historik for flere køb, selv når enheder deler én tokentypeidentitet.
Antag som illustration, at kontoen erhverver tre enheder til 0,10 ETH hver og senere to enheder til 0,14 ETH hver før udgifter. Den samlede købsværdi er 0,58 ETH for fem enheder, hvilket giver et gennemsnit på 0,116 ETH pr. enhed under en enkel gennemsnitsomkostningskonvention. De oprindelige partier bør forblive tilgængelige, selv hvis rapporter viser dette gennemsnit.
Vælg en ensartet konvention for intern ledelsesrapportering til at tildele erhvervelsesomkostning til afhændelser. Forskellige konventioner kan skabe forskellige tal pr. salg, mens kontoens samlede regnestykke fortsat kan afstemmes. Præsentér ikke den valgte metode som universel skattemæssig behandling; guiden vedrører intern strategianalyse og bevaring af registreringer.
Bevar hvert partis mængde og udgifter, så beregningen kan ændres eller gennemgås senere uden at miste kildedokumentation. Hvis hvert køb sammenfoldes til ét overskrevet gennemsnit, bliver det svært at forklare en uoverensstemmelse eller undersøge, hvilket erhvervelsesforløb der skabte den aktuelle eksponering.
Skeln enhedspris fra ordretotal
Et salgsopslag kan udtrykke vilkår på måder, som kræver omhyggelig fortolkning. Forslaget skal identificere, om en vist størrelse gælder én enhed, en gruppe enheder eller en hel ordre. Udled aldrig forskellen alene af et NFT-billede eller en kort prisbetegnelse.
I et hypotetisk eksempel indebærer et tilbud om at erhverve seks enheder for i alt 0,48 ETH en pris på 0,08 ETH pr. enhed før udgifter. Et tilbud om seks enheder til 0,48 ETH hver indebærer 2,88 ETH før udgifter. Samme tal skaber meget forskellig eksponering, når prisenheden misforstås.
Vis både enhedsbeløbet og den samlede forpligtelse i gennemgangsregistreringen. Medtag betalingsaktiv, anmodet mængde og henførbare omkostninger. En reviewer bør kunne reproducere totalen med ligetil regnestykker før godkendelse af handlingen.
Test forskellen med bevidst tvetydige eksempelregistreringer. Hvis importværktøjet ikke kan afgøre prisgrundlaget, bør det afvise eller eskalere forslaget frem for at vælge en bekvem fortolkning. Et tilsyneladende billigt eksemplar kan være et dyrt køb, når et totalprisfelt forveksles med et enhedsprisfelt eller omvendt.
Håndtér delvis udførelse efter den faktiske ordre
Tokenstandarden alene fastslår ikke, at en ordre må opfyldes delvist. Undersøg udførelsesruten og ordrevilkårene. Når delvis udførelse understøttes, bør kontoregistreringen skelne anmodet mængde, udført mængde, resterende aktiv mængde og annulleret eller udløbet mængde.
Antag, at en hypotetisk ordre anmoder om 10 enheder, og at det verificerede resultat fastslår fire erhvervede enheder. Beholdningsregistreringen øges med fire, mens de resterende seks afhænger af ordrens faktiske tilstand. Optælling af 10 som beholdt opfinder beholdninger; behandling af hele ordren som afsluttet kan glemme en resterende forpligtelse.
Regnskab for delvise ERC-1155-opfyldelser bør forbinde hver udførelse med den oprindelige hensigt uden at overskrive tidligere opfyldelser. Hvis tre enheder kommer og to kommer senere, bør registreringen vise begge hændelser og de samlede fem. Historikken hjælper med at forklare udgifter og timingforskelle i erhvervelsen.
Brug samme disciplin ved salg. En delvis afhændelse reducerer den beholdte mængde med den verificerede mængde og lukker den tilsvarende del af regnskabspositionen. De resterende enheder bevarer deres egen eksponering og omkostningsregistrering. En salgsbetegnelse bør aldrig antyde, at hele positionen i eksemplarer forsvandt, medmindre mængdedokumentationen understøtter det.
Bevar batchparringer i hver gennemgang
Når en foreslået handling indeholder flere tokentyper, skal parringen mellem hver identifikator og dens mængde bevares. En gennemgangsskærm, som angiver alle identifikatorer ét sted og alle mængder et andet, kan gøre en uoverensstemmelse svær at bemærke. Vis hvert par som én betydningsmæssig enhed, selv hvis den underliggende grænseflade bruger arrays.
I en fiktiv batch kan de tilsigtede par være Edition 7 med tre enheder, Edition 12 med én enhed og Edition 19 med seks enheder. Ombytning af to mængder ændrer handlingen, selv om identifikatorsættet og talsættet forbliver de samme. Validering skal kontrollere forholdene, ikke blot værdiernes tilstedeværelse.
Definér, hvordan arbejdsgangen repræsenterer et batchforsøg og dets verificerede udfald. Antag ikke, at markedspladsens udførelsesgruppering er identisk med tokenoverførselsgrænsefladens gruppering. Kontoen bør bruge den faktiske rutes dokumentation til at afgøre, hvilke tilsigtede ændringer der forekom.
En gennemgang af en ERC-1155-batchoverførsel bør også identificere modtageren og den samlede økonomiske eksponering. En batch kan forenkle en handling og samtidig øge konsekvenserne af en forkert destination eller mængdekobling. Bekvemmelighed fjerner ikke behovet for at undersøge hver væsentligt forskellig del af forslaget.
Fordel fælles udgifter gennemsigtigt
En samlet handling kan medføre en udgift, som ikke kommer med en separat opdeling pr. type. Hovedbogen kræver en udtrykkelig fordelingskonvention til intern analyse og skal samtidig bevare den faktiske total. Ligelig fordeling pr. enhed, fordeling efter købsværdi og direkte tilskrivning, hvor den er tilgængelig, besvarer forskellige rapporteringsspørgsmål.
Betragt et hypotetisk køb af to typer med værdier på 0,20 og 0,80 ETH og en fælles udgift på 0,05 ETH. Fordeling af udgiften efter købsværdi tildeler henholdsvis 0,01 og 0,04 ETH. Ligelig deling mellem typer tildeler 0,025 ETH til hver. Ingen af regnestykkerne ændrer den samlede udgift på 1,05 ETH, men resultatrapporterne pr. type afviger.
Vælg konventionen før strategisammenligning, dokumentér den, og anvend den ensartet. Ændring af metoden for at forbedre fremstillingen af én position med tab gør analysen vildledende, selv hvis kontoens total stadig går op. Bevar tilstrækkelige rådata til at genberegne rapporterne under en anden rimelig konvention.
Hold også udgifter til mislykkede forsøg synlige. Hvis et erhvervelsesforsøg ikke skaber beholdninger, men medfører omkostninger, brugte projektet stadig ressourcer. En rapport begrænset til vellykkede partier vil undervurdere driftsbyrden og kan få hyppige mislykkede forsøg til at se økonomisk harmløse ud.
Modellér udgangskapacitet for den tilsigtede mængde
En pris for én enhed fastslår ikke, at en større mængde kan sælges på samme gennemsnitlige vilkår. Arbejdsgangen bør evaluere den tilsigtede afhændelsesstørrelse og den tilgængelige køberinteresse, som er relevant for den. Et lille attraktivt tilbud kan kun beskrive en brøkdel af kontoens position.
Antag, at kontoen har 20 hypotetiske enheder. Købere tilbyder aktuelt 0,10 ETH for de første to enheder, 0,08 ETH for de næste tre og ingen verificerede vilkår for resten. Værdiansættelse af alle 20 til 0,10 ETH antager efterspørgsel, dokumentationen ikke viser. Registreringen bør skelne det underbyggede provenu fra den uafklarede rest.
Brug flere genindvindingsscenarier til beholdningsrapportering. En model kan vise resultatet af hurtigt salg af en lille mængde, salg af mere på mindre gunstige vilkår eller længere ejertid for usolgte enheder. Dette er scenarier, ikke løfter om fremtidig likviditet.
Mængdekoncentration er vigtig, selv når enhedsprisen ser beskeden ud. Gentagne køb af samme eksemplartype kan binde betydelig kapital til én køberkreds. En grænse pr. ordre bør derfor suppleres med en grænse for samlet beholdning og forpligtelser på typeniveau.
Hold ERC-1155-handelsbottens tilladelsesregistrering separat
Operatørgodkendelse i standarden har et bredere omfang end én lokalt beskrevet handel. Arbejdsgangen bør vise den relevante kontrakt og autoriserede part og forklare forholdet mellem disse beføjelser og den tilsigtede handling. En attraktiv pris er ikke en grund til at springe tilladelsesgennemgang over.
Gem tilladelsesobservationer separat fra ordrestatus. En ordre kan udløbe, mens beføjelser består, og deaktivering af strategien beskriver ikke i sig selv tilladelsestilstanden. Kontoens gennemgangsproces bør gøre forskellene synlige for den person, som er ansvarlig for walleten.
Hvis udførelsesruten ændrer sig, skal de beføjelser, den kræver, evalueres igen. Antag ikke, at en tidligere observeret tilladelse gælder passende, blot fordi den nye rute tjener et lignende formål. Verificerede identifikatorer og aktuelle krav bør styre beslutningen.
Den bredere mandatdiskussion i en NFT-handelsagent forklarer, hvorfor planlægning og beføjelser kræver separate kontroller. En mængdebevidst agent kan foreslå nyttige beholdningshandlinger, men dens tilladelse til at udføre dem bør forblive afgrænset af udtrykkelige regler for aktiv, mængde eller beløb og drift.
Afstem eksterne overførsler og uventede saldoændringer
Bottens egen ordrehistorik forklarer måske ikke enhver kontobevægelse. En person kan bruge en anden brugerflade, en anden autoriseret arbejdsgang kan handle, eller et aktiv kan ankomme uden for den forventede erhvervelsesproces. Hovedbogen bør opdage den ændrede saldo og undersøge dens kilde frem for at presse den ind i den nærmeste kendte handel.
Klassificér kun en bevægelse som en erhvervelse, afhændelse, opbevaringsoverførsel eller uafklaret hændelse, når dokumentationen understøtter klassifikationen. En indgående mængde er ikke automatisk et køb til den aktuelle markedspris. En udgående mængde er ikke automatisk et salg med provenu lig et vist tilbud.
Bevar den oprindelige observation og den senere forklaring. Hvis en saldouoverensstemmelse afklares efter gennemgang, skal den understøttende dokumentation tilføjes frem for stiltiende at erstatte registreringen. Dette gør kontohistorikken nyttig til at diagnosticere tilbagevendende problemer i dataindsamling eller operatørkoordinering.
Sæt nye handlinger med den omstridte type på pause, når uoverensstemmelsen påvirker tilgængelig mængde. Fortsat reservation eller salg af enheder fra en usikker saldo kan skabe modstridende forpligtelser. Uafhængig overvågning kan fortsætte, mens de berørte beholdninger forbliver under gennemgang.
Test mængderegning ved grænserne
Brug små, overskuelige eksempler før opskalering af antallet af typer eller enheder. Medtag nul tilgængelig mængde, en mængde over den verificerede saldo, en delvist udført ordre og to samtidige forslag, som konkurrerer om samme enheder. Hvert tilfælde tester en forskellig antagelse i reservationsmodellen.
Test, hvordan mængder fortolkes og gemmes. En mængde bør ikke stiltiende afrundes til en anden autoriseret mængde. Hvis ruten eller aktivet kræver en heltalsenhed, og forslaget indeholder en brøkdel, som ikke understøttes, skal det afvises udtrykkeligt frem for at gætte på brugerens hensigt.
En begynder kan arbejde sig gennem disse tilfælde sammen med en øvelse til en NFT-bot for begyndere. Pointen er at gøre tilstandsændringerne synlige med enkle tal, så operatøren kan forklare, hvorfor tilgængelige beholdninger ændrede sig efter hver hændelse.
Bevar eksemplerne som et regressionstestsæt til senere ændringer. En ny visningskomponent eller et nyt importværktøj kan indføre mængdefejl, selv når udførelseskoden er uændret. Testen bør verificere de meningsfulde forhold mellem beholdte, reserverede og udførte mængder frem for blot at bekræfte, at en knap stadig vises.
Luk sessionen med mængde- og kontantafstemning
Forbind for hver type åbningsmængde, verificerede indgange, verificerede udgange og slutmængde. Afstem derefter de tilhørende betalingsbevægelser og udgifter. Disse to synsvinkler besvarer forskellige spørgsmål og bør stemme med de registrerede handlinger uden at blive foldet sammen til ét nettoværdiskøn.
Undersøg forskelle før start af endnu en session. En lille uoverensstemmelse kan pege på en dubleret opfyldelse, en uregistreret overførsel eller en fortolkningsfejl. Gentagen videreførelse gør senere afstemning sværere, fordi hver ny handling afhænger af en allerede usikker startsaldo.
Bevar usolgte beholdninger separat fra realiserede resultater. En hypotetisk værdiansættelse af resterende enheder er ikke genindvundne kontanter. Rapporter bør forklare, hvor meget af strategiens tilsyneladende værdi der afhænger af et skøn for aktiver, som stadig kræver købere.
Den endelige sessionsnote bør identificere uafklarede ordrer, reserverede mængder og eventuelle tilladelsesændringer, som fortsat er relevante. En rolig handelsløkke er ikke en fuldstændig kontotilstand. Operatøren kræver tilstrækkelig information til at genstarte sammenhængende uden at genopdage, hvad den tidligere session havde til hensigt.
Ofte stillede spørgsmål om handel med eksemplarer
Betyder ét token-ID altid én enhed?
Nej. Kontomodellen skal bevare den observerede mængde knyttet til tokentypen. Behandling af identifikatoren som en beholdning af én enkelt genstand kan fremstille beholdninger og ordrekapacitet forkert. Brug aktivets og rutens faktiske betydninger frem for at udlede mængde af den måde, en markedsplads viser billedet på.
Er en batch altid økonomisk bedre?
Ikke nødvendigvis. En batch kan ændre udførelsesudgifter og driftskompleksitet, men resultatet afhænger af den faktiske rute og det foreslåede indhold. Sammenlign fuldstændige omkostninger og konsekvenserne af en mislykket eller forkert handling. Bekvemmelighed alene fastslår ikke et bedre økonomisk udfald.
Kan jeg sælge alt til den seneste enhedspris?
En tidligere enhedspris fastslår ikke aktuel efterspørgsel efter hele beholdningen. Undersøg eksekverbare vilkår for den tilsigtede mængde, og hold udokumenteret provenu synligt usikkert. Store positioner i eksemplarer kan kræve en anden udgangsplan end den, en lille nylig transaktion antyder.
Hvad er den vigtigste første kontrol?
Bekræft, at arbejdsgangen skelner tokentype, mængde og prisgrundlag. Verificér derefter, at beholdte og reserverede mængder afstemmes efter et delvist udfald. Disse grundprincipper gør senere omkostnings- og beholdningsanalyse meningsfuld. Avanceret værdiansættelse kan ikke reparere en kontomodel, som ikke ved, hvor mange enheder den faktisk kontrollerer.