Kuidas rakendada õiglast ja turvalist ICO-d

Tehniline ülevaade meie enda IGNIS-ühisrahastuskampaania sisemisest toimimisest, mille saate oma NXT-põhise ICO-ga kopeerida, murdosa muude lahenduste maksumusest

Nutikate lepingute väljatöötamine Ethereum ERC20 märgiks on kallis. Tüüpilised kulud hõlmavad arukate lepingute väljatöötamise eest umbes 20 000 dollarit ja turvaülevaate jaoks veel 50 000 dollarit. See kõlab algselt kohutavalt, kuid arvan, et see on mõistetav, pärast seda, kui kõik Ethereumi märgid on nullist ICO meeskonna spetsifikatsioonidele välja töötatud ja nutikate lepingutega on seotud nii palju turvaprobleeme, on turvalisuse ülevaatajatel kindlasti suur nõudlus ja nad võivad seda nõuda. nii palju kui neile meeldib.

Eelmises artiklis selgitasin, kuidas saab NXT-d kasutada odavama ja turvalisema alternatiivina ICO platvormile. Kuid ma ei täpsustanud täpseid üksikasju ja sain hiljuti nii palju küsimusi, et otsustasin, et see vajab veel selgitamist.

Eeldusel, et te pole NXT-ga tuttav, on teie parim lähenemisviis lihtsalt meie enda IGNIS ICO struktuuri järgimine - see pakub teile toimiva ja turvalise rahvahulga rahastamise lahenduse palju taskukohasemate teadus- ja arendustegevuse kulude jaoks.

Ülejäänud artikkel on natuke tehniline. Peate olema mõnevõrra tuttav NXT-ga ja teadma, kuidas sõlme käivitada ning mõistma API-sid, sellest ei saa mööda minna. Ma ei selgita seda selles artiklis. Ma soovitan teil alustada meie nxtwikidest. Võin teile kinnitada, et see on sama lihtne kui mis tahes blockchain-platvorm ja tõenäoliselt ka palju lihtsam.

Kontrollitav valuuta

IGNIS ICO kasutatava JLRDA tokeni põhielementideks oli kontrollitava valuuta tüüpi token. Alustuseks tahaksin, et te loeksite rahasüsteemi ametlikke dokumente. Jah, ma tean, et see asi on pikk ja paljusõnaline, kuid te tahate koguda miljoneid ega taha maksta ETH-i kuttidele ega saada häkkimiseks. Nii et lugege seda neetud asja, palun.

Pärast dokumentide lugemist võin teile öelda, et kontrollitavat valuutat saab üle kanda ainult emiteeritavale kontole ja kontolt ning kui see on vahetatav, saab pakkumisi avaldada ainult emiteeriv konto. Need omadused muudavad selle suurepäraseks vahendiks ühisrahastamisel. Ülekandepiirang tagab, et ostjad ei saa žetoone ümber tõsta ja müügipakkumiste väljastamise piirang tagab, et teil on hinnatase üle kontroll, nii et keegi teine ​​ei saaks teie ICO ajakava järgimisel paremat hinda pakkuda.

Et vaadata, milliseid valuutaomadusi kasutasime IGNIS ICO jaoks, vaadake JLRDA valuutat NXT põhivõrgus ja väljastage oma valuuta alati nelja kümnendkoha täpsusega.

ICO leht

Valuutadega saab kaubelda olemasoleva NXT rahakotivahetusboksi liidese abil. See liides on juhusliku ICO ostja jaoks siiski liiga keeruline, seetõttu lõime ICO jaoks spetsiaalse lehe, mis toetab ainult ühte valuuta ostmise funktsiooni. Peate rakendama sarnase lehe ja lisama selle rahakoti pistikprogrammina või lihtsalt postitama oma ICO veebisaidile. Ärge seda lehte nullist üles ehitage, kasutage juba olemasolevat lehte, mille me enda ICO jaoks ehitasime. Laadige alla ja installige NXT 1.11.9 (ärge kasutage hilisemat versiooni, kuna osa sellest koodist eemaldati) ja vaadake siis faili ignis.html (./html/www/html/pages/ignis.html) ja funktsioone, mis toetab seda saidil nrs.monetarysystem.js alates real 1600 (./html/www/js/nrs.monetarysystem.js). Ignis.html-koodi põhjal arendage oma ICO leht kas NXT modifitseeritud versioonina (meie kliendikood vabastatakse MIT-litsentsi alusel, nii et teil lubatakse seda teha) või rahakoti pistikprogrammina, mis võimaldab teistel NXT-sõlmedel toetage oma ICO-d, kuid see lisab teie arendusprotsessis teatavat keerukust. Saate ICO lehte veelgi lihtsustada, nagu soovite. Näiteks ei pea te sellel lehel lisama tuge Shapeshifti ja Changelly vahetuste jaoks, nagu me tegime.

Vahetuspakkumised

Iga ICO vooru kohta saate välja anda ühe valuutavahetuse pakkumise vastavalt ICO ajakavale. Kasutage selleks NXT-i rahakotiliidest. Teil on vaja pakkuda ainult müüki pakutavat valuutat, täpsustage 0 väärtust ostu poolel. Vaadake näiteks NXT Mainnetis tehtud tehingut 12339997342493732668, et näha ühte meie välja antud pakkumist müüa 1 JLRDA hinnaga 0,76 NXT. Veenduge, et aegumiskõrgus vastaks ICO ajakavale. Tuletame meelde, et NXT-s luuakse plokk keskmiselt iga minut.

Turvalisuse kaalutlused

Kui müüte oma žetoone vahetuspakkumise abil, laekub tasu NXT-s, seetõttu koguneb valuuta väljastanud kontole palju NXT-d, kuid te ei tohiks seda kontot konto kontrolli alla seada, kuna see segab plaanitud tehingute toimimist ( selgitatud allpool). Selle asemel valmistage ette teine ​​kontokontrolliga tagatud konto ja viige ICO-s kogutud raha regulaarselt sellele kontole.

Märgi nime valimisel. Tehke see sümboolne nimi võimalikult lihtsaks, et petturitel oleks keerulisem segadusse ajada kasutajaid oma võltsmärkide ostmisega. Tagantjärele mõeldes oli meie enda märgiks JLRDA valitud nimi problemaatiline, kuna mõned kasutajad pettusid näiteks JRLDA-nimelise märgi ostmisele. Nii et veenduge, et teie sümboolne nimi on lihtne, ja isegi kaaluge lisatasu maksmist 4 või 3 tähe valuuta eest.

Juhuslikud ja plaanilised tehingud

Juhul, kui teie ICO on populaarne, on esimeste müügis olevate partiide väljastamisel nõudlus ületatud. Alati on oht, et üks ostja ostab kogu partii, kinnitamata müügipakkumisega, enne kui kasutajad saavad UI-s müügipakkumist näha.

Selle riski maandamiseks ja veendumaks, et kõigil on õigustatud võimalused teie žetooni osta, peaksite laskma kasutajatel enne ostuvaluuta pakkumist plaanitud tehingute funktsiooni abil oma ostutaotlusi planeerida. See osa on valikuline, te ei pea seda oma ICO lehel toetama, kuid kui te seda ei tee, annate tehnikageenidele ebaõiglase eelise kõigi teiste ostjate ees.

Selle saavutamiseks peaks teie kood ostutehingu esitamisel laadima saadaolevad vahetuspakkumised. Kui neid pole, peaksite ostunupule lisama ajastatud = õiged andmed, näiteks $ (“# buy_ignis_button”) .andmed (“planeeritud”, true); Selle tulemusel salvestatakse kasutaja ostutehingu korral sõlme mällu ja seda ei edastata plokiahelale.

Vaadake, kuidas see IGNIS ICO jaoks toimis, vaadake NXT 1.11.9 funktsioonis processOffers () funktsiooni nrs.monetarysystem.js ja jäljendage seda funktsiooni. See edastab ajastatud tehingu, mis jääb sõlme mällu. See ajastatud tehing saadetakse plokiahelasse ainult sel hetkel, kui sõlm näeb teie kinnitamata vahetuspakkumise tehingut. See loob ausa konkurentsi kõigi ostjate vahel. Juhul kui vahetuspakkumine oli juba esitatud, peaks teie kood olema määratud = valeandmed ja seega esitama tavalise valuutaostutehingu.

Planeeritud ostutehingu hinna määramiseks kasutasime valuutaemitendi konto vara ja muutsime seda selliseks, et see kajastaks tokeni praegust hinnatasemat. Seejärel kasutasime seda konto atribuuti kavandatud ostutaotluste määra määramiseks. Vaadake nrs.monetarysystem.js rida 357

Lahenduse testimine

Seadistage NXT testneti sõlme ja kasutage seda enne mainneti juurutamist oma lahenduse testimiseks. Peaksite käsitlema seda kui arendusprojekti ja kasutama testimiseks ja koodide ülevaatamiseks tavalisi parimaid tavasid. Alati eeldage, et häkkerid ja petturid jälgivad teie vigadest koodi, kuna võite olla kindel.

Kokkuvõte

Selles artiklis selgitasin üksikasjalikult IGNIS ICO sisemist tööd, et võimaldada arendajatel seda protsessi jäljendada omaenda NXT-põhises ICO-s. Sama tehnikat kasutades saate teostada ohutu ja õiglase ICO, kulutades vaid osa kuludest ja vaeva, mis kulub selle rakendamiseks mõnel teisel blockchain platvormil.

Järgmises artiklis selgitan, kuidas lubada kasutajatel teiste krüptovaluutade abil investeerida teie NXT-põhisesse ICO-sse ja registreerida ikkagi ICO žetoone NXT blockchainis.

Selle seeria kolmandas artiklis selgitan, kuidas saate Ardorit kasutada selle tehnika edasiseks täiustamiseks ja KYC / AML nõuetele vastava ICO loomiseks.