Include un exemplu de implementare a jetonului Ethereum si UI!
Despre
Acesta este un starter Ethereum dapp pe care l-am pus impreuna folosind urmatoarele tehnologii:
- API Ethereum Javascript (Web3.js) 1.0-beta
- Trufa
- Paritate
- React Redux Exemplu fierbinte universal (implementeaza React, React Router, Babel, Webpack, Redux, Redux Dev Tools, React Router Redux, ESLint si multe altele)
Acest depozit de pornire pentru construirea dap-urilor react / redux utilizeaza cele mai noi tehnologii de dezvoltare Ethereum de ultima ora. Va rugam sa retineti ca depozitul este inca in curs de dezvoltare; Voi adauga exemple suplimentare de contracte inteligente / UI.
Caracteristici
- Tehnologii de ultima ora, inclusiv Web3.js v1.0
- Depozitul isi propune sa implementeze cele mai moderne tehnologii si modele de proiectare. Din acest motiv, acceptam cea mai recenta versiune de Web3.js, care este inca in versiune beta, astfel incat codul dvs. Dapp va ramane actualizat in viitor.
- Foarte flexibil si adaptabil
- Efectuati rapid modificari si personalizati incepand cu o implementare minimalista Ethereum dapp.
- Suport pentru trufe
- Compilarea, conectarea, implementarea si gestionarea binara a contractelor inteligente incorporate din CLI.
- Implementare Ethereum rapida, usoara si robusta
- Parity ofera un browser dapp usor de utilizat si un mediu de dezvoltare echipat cu un portofel incorporat si procesare rapida a tranzactiilor.
- Reincarcare la cald
- Bucurati-va de experienta dezvoltatorului! Modificarile salvate la CSS si JS sunt reflectate instantaneu fara a actualiza pagina! Starea aplicatiei este pastrata pe client.
- JavaScript de generatia urmatoare
- Utilizati sintaxa JSX cu toate caracteristicile ES6 si unele dintre ES7 (a se vedea .babelrc).
- CSS in module
- Scrieti CSS compozibil, modular si intretinibil cu componentele dvs.
- Managementul previzibil al statului
- Fluxul de date unidirectional cu Redux va ajuta sa scrieti aplicatii care se comporta constant si sunt usor de testat. In plus, ofera o experienta excelenta pentru dezvoltatori.
- Aplicatie web progresiva si mai intai offline
- Aplicatiile web progresive sunt experiente ale utilizatorilor care au acces la web si sunt:
Fiabile – Incarcati instantaneu si nu afisati niciodata downasaurul, chiar si in conditii de retea incerte.
Rapid – Raspundeti rapid la interactiunile utilizatorilor cu animatii netede si matase si fara derulare.
Implicare – Simtiti-va ca o aplicatie naturala pe dispozitiv, cu o experienta de utilizator captivanta.
Acest nou nivel de calitate permite aplicatiilor web progresive sa castige un loc pe ecranul de pornire al utilizatorului.
- Incarcare lenesa si rutare dinamica
- Impartirea codului face ca dimensiunea pachetului dvs. principal sa fie aproape fixa, iar cu react-router puteti incarca piese de aplicatie la cerere. Puteti trimite pachete persoanelor care sunt doar instruite, cum ar fi administratia.
- Redare universala
- Cu ajutorul randarii pe server, prima redare nu este niciodata goala si performanta este mai buna. Acesta este momentul, de exemplu, pentru preluarea datelor. Webpack-isomorphic-tools pentru a permite require () sa lucreze pentru statica atat pe client, cat si pe server.
- SEO
- Acest proiect accepta SEO pentru motoarele de cautare chiar si fara a permite indexarea continutului JavaScript, gratie redarii de pe server.
maduras buenorras porns
cachondas españolas videos porno caseros en español
videos xxx gratis español incesto gratis
asiatica forzada porno muy duro
sexo videos gratis chochitos jovencitos
lesbianas reales incesto abuelas
videos ponos coños bonitos
pornoo follándosela
folladas peludas se folla a su madre
tetas saltarinas parejas pilladas follando
videos porno subtitulados videos ponos
videos porno xxx incesto porno gay primera vez
follando a mi hijastra tetas playa
porno estremo incesto subtitulado español
forzada por el culo porno gay en castellano
travesti paja madre española se folla a su hijo
maturehd tias buenas desnudas
tetas en publico sexo en la playa nudista
pilladas playa forzada por el culo
filme porno vechi videos porno online
Instalare
Descarcati cea mai recenta versiune a Parity aici.
De asemenea, asigurati-va ca aveti cea mai recenta versiune de trufa instalata la nivel global:
In cele din urma, instalati toate dependentele pachetului:
Rularea Dev Environment
Rulati toate comenzile urmatoare in directorul proiectului.
1) Porniti lantul de dezvoltare a paritatii
Nota: setam –ws-origini, astfel incat sa putem folosi websockets pentru a va abona la evenimente blockchain.
2) Compilati si migrati contracte inteligente
NOTA: dupa executarea paritatii deschise (la http://127.0.0.1:8180/) intr-un browser si confirmati toate tranzactiile pentru a finaliza migrarea.
3) Porniti Dev Javascript Server
Prima data poate dura putin timp pentru a genera primul webpack-assets.json si sa va plangeti cu cateva zeci de tipariri [webpack-isomorphic-tools] (asteptand finalizarea primei versiuni Webpack), dar aveti rabdare. Acordati-i 30 de secunde.
Esti bine sa pleci! 🙂 Acum puteti accesa dapp la: http: // localhost: 3000.
Folosind Redux DevTools
Redux Devtools sunt activate in mod implicit in dezvoltare.
- CTRL + H Comutati DevTools Dock
- CTRL + Q Mutare Pozitia docului DevTools
- consultati redux-devtools-dock-monitor pentru informatii mai detaliate.
Daca aveti instalata extensia cromata Redux DevTools, aceasta va fi utilizata automat in partea clientului.
Daca doriti sa dezactivati instrumentele de dezvoltare in timpul dezvoltarii, setati __DEVTOOLS__ la false in /webpack/dev.config.js.
DevTools nu sunt activate in mod implicit in timpul productiei.
Explicatie
Va rugam sa consultati documentatia de exemplu react-redux-universal-hot-example pentru o explicatie detaliata a modului in care functioneaza portiunea React / Redux a acestui dapp.
Contracte inteligente
Contractele inteligente sunt scrise in directorul / contract. Comanda de compilare trufa creeaza apoi fisiere .json corespunzatoare in directorul / build / contract.
Pentru ca un contract inteligent sa fie implementat cand se executa migrarea trufelor, acesta trebuie apelat cu .deploy () in /migrations/2_deploy_contracts.js sau orice alt fisier de migrare din directorul ./migrations (nota: puteti adauga fisiere de implementare suplimentare in acest director, pur si simplu cresteti numarul la inceputul numelui fisierului, de exemplu: 3_anotha_one.js).
Pentru mai multe informatii despre Truffle si cum functioneaza, va rugam sa cititi documentatia.
Web3.js Relatia cu paritatea
Biblioteca Javascript Web3.js care este utilizata in portiunea React / Redux din dapp pentru a interactiona cu contractele inteligente Ethereum care ruleaza pe lantul de testare Parity printr-un websocket.
Pentru mai multe informatii despre Parity si cum functioneaza, va rugam sa cititi wiki.
/build/contracts/addresses.json
Dupa rularea trufelor migrate, scriptul de migrare 2_deploy_contracts.js va crea un fisier address.json in directorul nou creat / build / contract care va contine pur si simplu un obiect JSON al adreselor de implementare curente ale contractelor inteligente ale Dapp.
loadContractABI API
API-ul loadContractABI este utilizat pentru a obtine interfata binara a aplicatiei (ABI) pentru contractele inteligente din fisierele lor JSON. Acesta ruleaza pe partea de server a aplicatiei, deoarece este mai usor sa accesati sistemul de fisiere in acest fel.
Foaie de parcurs
Completari viitoare planificate:
- creati o pagina cu un exemplu de utilizare a metodei web3.eth.getStorageAt pe StorageExample smart-contract
- transforma MetaCoin intr-un jeton conform cu standardele ERC20
- adaugati un exemplu de oracle smart-contract exemplu care interactioneaza cu date externe
- luati in considerare implementarea unui contract de trufe pentru o mai buna abstractie a contractului Ethereum
- implementati / documentati teste unitare de trufe cu Travis CI
- adaugati instructiuni de implementare a mediului de productie
Contribuind
Scopul meu este ca aceasta sa functioneze atat ca o resursa de invatare, cat si ca o placa utila pentru inceperea de noi proiecte. Sunt mai mult decat fericit sa accept contributii externe la proiect sub forma de feedback, rapoarte de erori si chiar mai bine – trageti cereri 🙂
Daca doriti sa trimiteti o cerere de extragere, va rugam sa faceti un efort pentru a urma ghidul din CONTRIBUTING.md.
Va multumim ca ati verificat acest lucru.
Creat de: – Leopold Joy, @leopoldjoy








