BlogChain
-
date_range 18.10.2018 16:02 info link https://github.com/filips123/BlogChain/
Decentralizirani spletni dnevnik s pomočjo pametnih pogodb Ethereum in Web3.
Opis
Decentralizirani spletni dnevnik s pomočjo pametnih pogodb Ethereum in Web3. Uporablja Truffle Framework za razvijanje pametnih pogodb in Bootstrap za spletno stran. Uporablja tudi IPFS za spletno gostovanje.
Značilnosti
- Decentraliziran
- Lahko uporablja katerokoli Ethereum omrežje
- Uporablja IPFS za spletno gostovanje
- Majhna velikost datoteke
- več značilnosti prihaja …
TODO
- Brisanje in urejanje prispevkov
- Brisanje in prenos spletnih dnevnikov
- Prevodi
- Boljše testiranje kode
- Boljša dokumentacija kode
- JavaScript API
Kako deluje
TODO
Uporaba
BlogChain lahko zaženete lokalno, ali pa ga objavite na IPFS ali drugo gostovanje.
Zahteve
You must have Node.js and NPM installed. You also need to install Truffle Framework. You must be connected to the Ethereum blockchain to use the tests. I suggest you use Ganache, which creates a personal Ethereum blockchain. For web hosting, you can use IPFS.
Namestitev
Program lahko namestite iz GitHub skladišča z uporabo git
ali s prenosom iz GitHub različic.
Nato morate prenesti dodatne NPM pakete. BlogChain trenutno uporablja lite-server
za lokalno spletno gostovanje.
git clone https://github.com/filips123/BlogChain.git
cd BlogChain
npm install
Poganjanje
Za prevajanje pametnih pogodb zaženite:
truffle compile
Prevedene pogodbe bodo shranjene v mapi build/contracts
.
Za preizkušanje programa zaženite:
truffle test
# or
npm test
Za to morate biti povezani na Ethereum verigo blokov. Za to priporočam uporabo Ganache.
Za zagon lite-server
za lokalno spletno gostovanje zaženite:
npm run dev
To bo prevedlo pogodbe in zagnalo strežnik na vratih 3000.
Objavljanje na IPFS
Spletno stran BlogChain lahko objavite na IPFS. Najprej ga morate namestiti in nastaviti path
spremenljivko.
Najprej je potrebno kopirati prevedene pogodbe (build/contracts/BlogChain.json
) in spletno stran (src
) v isto mapo.
Nato sledite navodilom v Medium članku The ultimate end-to-end tutorial to create and deploy a fully decentralized Dapp in ethereum (ne pozabite spremeniti iem mape). Spodaj je njihov povzetek.
Zaženite ukaz:
ipfs daemon
To bo ustvarilo node. V drugi ukazni vrstici ali terminalu zaženite:
ipfs swarm peers
To bo omogočalo deljenje vaše vsebine. Nato zaženite:
ipfs add -r path/to/website/and/compiled/contract/directory/
To bo dodalo vašo mapo v omrežje. Videli boste dolg hash, ki je bil ustvarjen za vas. Zadnji je unikatni identifikator vaše mape:
added QmcCZLY7ubZ7pb5hkwSMzazNGkrJpfsHidiEwAi9ep9s7b website/css
added QmPboMFyB7p1rsjcEA8W9TfcQfkUeBhubZQDYPUVtnmXWF website/icons
added QmQGMa9EFZZ29qoL8SnaFcFmY32QKHC7GixxaEyw63aKHv website/js
added Qma1PfCMzemunU9wCTZHCMo6BfgGbMZ1Q3gXpaZTa6uY64 website
Kopirajte zadnji hash (primer Qmc73ZkESUP9sZyU4zGgDMQajfNVLqqKdxPut9GmvStjtJ
) in zaženite:
ipfs name publish your-last-hash
Videli boste nekaj takega:
Published to Qmc2LMjSaXPFRvPJCCb4EfctYNLsKE1WTJC7BMxLrN9fmD: /ipfs/Qmc73ZkESUP9sZyU4zGgDMQajfNVLqqKdxPut9GmvStjtJ
To pomeni, da bo spletna stran na voljo na URL naslovu od zadnjega hasha (primer Qmc2LMjSaXPFRvPJCCb4EfctYNLsKE1WTJC7BMxLrN9fmD
. Preverite jo lahko, tako da obiščete https://gateway.ipfs.io/ipns/<your-hash-here>
.
V mojem primeru je to:
https://gateway.ipfs.io/ipns/Qmc2LMjSaXPFRvPJCCb4EfctYNLsKE1WTJC7BMxLrN9fmD
Po posodobitvi pogodb ali datotek zaženite:
ipfs add -r path/to/website/and/compiled/contract/directory/
ipfs name publish your-last-hash
Objabljen hash bo vedno enak.
Nastavitve
Truffle lahko prilagodite v datoteki truffle-config.js. Za več informacij obiščite Truffle Documentation.
Več možnosti prihaja …
Uporablja
Prispevanje
Za prispevanje k projektu si preberite CONTRIBUTING.md.
Različice
Program za različice uporablja SemVer. Za ogled objavljenih različic obiščite oznake na skladišču.
Licenca
Program je zaščiten z licenco GNU General Public License v3.