Dizaino modeliai: „App vs Dapp“

Mes sumanėme sukurti paprastą programą vardo registravimui „ethereum“ grandinėje. Manėme, kad šios paprastos svetainės sukūrimas bus trumpas. Pagrindines „grandininės grandinės“ sąvokas galima išmokti per kelias savaites; šiuo metu daugumos „blockchain“ programų dydis yra pakankamai mažas, kad galėtum grožėtis savaitgaliais, o mūsų sukurta programa buvo išbandyta ir tikra el. Prekybos programa - ieškokite domeno vardą ir nusipirkite. Negaliu to padaryti paprasčiau. Bet štai kur istorija pasidaro negraži. Mūsų mažoji „ethereum“ demonstracinė programa per 5 savaites sumažėjo 5 kartus. O srauto neturėjome - manau, kad didžiausia mūsų apkrova buvo tada, kai mano geriausias draugas ir jo katė tuo pačiu metu atsitrenkė į mūsų svetainę. Problema? Pasirodo, kad mūsų infrastruktūra, duomenų bazė ir klientų duomenų modelis buvo klaidingi.

Pirma pamoka: naudokite priglobto mazgo paslaugų teikėją, o ne priglobkite savo mazgus, kad sukurtumėte „blockchain“ programas. Kai tampate didelis, galite (ir turėtumėte) valdyti savo mazgų parką ir samdyti žmogų visu etatu tam padaryti, tačiau norėdami pradėti, tiesiog naudokitės api baigtimi. Daug lengviau. Oho daug.

Man patinka tvarkyti reikalus vietoje - gera būti šalia savo sistemų ir duomenų. Mes valdėme savo mazgą. Tai iš esmės reiškė, kad mes turėjome išleisti dar 50 USD per mėnesį savo serveriui, kuris buvo didžiulis atminties srautas, ir nuolat turėjo atnaujinti mazgo programinę įrangą, kuri kartais buvo šiek tiek klaidinga (ir tai gerai, kad tai pažangiausia technika). Bet „blockchain“ programos kūrimui - bent jau ankstyvame etape - tai yra nepaprastas dalykas. Jei norite leisti laiką savo programai, o ne vietiniams mazgams, naudokite gerai valdomą priglobtą ethereum-node paslaugą, kuri gali pasirūpinti visais niuansais už jus.

Antra pamoka: atsikratykite duomenų bazės. Jei kažkur savo programoje saugote būseną, greičiausiai tai darote neteisingai. Decentralizuota programa turėtų gyventi blokinėje grandinėje (ir IPFS ir kt., Ateina ateitis).

Mūsų duomenų bazė buvo menkai apgalvota. Savo duomenų bazėje mes galėjome atkartoti būseną. Ir kaip kiekvienas gali pasakyti, kai turite du valstijos pavyzdžius (mūsų duomenų bazę ir „grandinės grandinę“), garantuojate, kad turite blogą laiką. Kiekvieną kartą, kai mūsų mazgas sumažėjo arba atsijungė, mes vėl prisijungtume prie daugybės klaidų. Mes padarėme scenarijus, kad ją išvalytume. Tada rankiniu būdu grįžau patikrinti. Galų gale pažvelgė vienas į kitą ir paklausė: „Ką mes darome? kodėl gi mums nepavykus atsikratyti duomenų bazės ir panaudoti „blockchain“ valstijai, kad išeitume iš ten? kodėl mes saugome duomenis? “Ištrynėme savo duomenų bazę. Ir tai jautėsi kaip apreiškimas. Kodėl tai užtruko taip ilgai, kad išsiaiškinčiau? Nemanau, kad kada nors sužinosiu.

Trečia pamoka: įsipareigokite naudoti vartotojui priklausančius duomenis. Čia iš anksto kainuoja išlaidos, kai vartotojai turi išmokti tinkamai saugoti ir saugoti savo duomenis - šiuo atveju jų ethereum privačius raktus - ir turėsite stengtis, kad tai vartotojams būtų kuo lengviau. Bet tai verta.

Kita vertus, iškilo ši bauginanti globos problema - vartotojų vardu pirkome vardus. „Blockchain“ programų ateitis yra tai, kad vartotojai turi savo duomenis, ir tai atveria daugybę nepaprastų galimybių vartotojui. Mūsų atveju tai reiškia, kad vartotojai turi aukštesnį privatumo lygį, jiems nereikia jaudintis dėl globos įsipareigojimų neįvykdymo ir jie gali perkelti savo verslą kitur, kai tik nori, kad mes neturime jų duomenų (skirtingai nei įprastas DNS, kuris gali užtrukti savaitę perkelti). Naudotojui priklausantys duomenys yra patrauklūs vartotojams, nes jiems nereikia pasikliauti jumis, jie yra patrauklūs verslui, nes galite atsikratyti rūpesčių dėl globos ir sutelkti dėmesį į savo programą. Geriau kurti ateičiai nei praeitį.

Mes kovojome su infrastruktūros nustatymu, leidome valdyti savo valstybę vietoje ir įsipareigoti naudoti vartotojo duomenis. Pakeliui padarėme keletą klaidų, bet baigėme strėle, kuria didžiuojamės. Mes nesaugome jokių vartotojo duomenų, neturime vidinės duomenų bazės ar savarankiškai naudojamų mazgų (dar!). Pagrindinė priežastis nebuvo naujos technologijos sunkumas, atliekamos užduoties dydis ar technologijos „naujumas“. Tai buvo „blockchain“ programų kūrimo „filosofija“. Bet ne daugiau. Mes visi bendradarbiaujame su „grandinės grandine“ kaip vienu šaltiniu ar būsena, visiška vartotojo kontrole ir vartotojui priklausančiais duomenimis. Mes nežiūrime atgal. Mums smagu ir tikimės tęsti savo kelionę žemyn pro dapp triušio skylę.