Kategorie
Uncategorized

Jak odpalić Hyper Ledger jedną komendą

Krótka historia o tym jak odpalić HLF na Google Cloud Platform, przy pomocy jednej komendy.

No to zaczynamy:

Najpierw zainstaluj klienta chmury google – https://cloud.google.com/sdk/docs/quickstarts

1. zaloguj się przez:
gcloud init

2. zainstaluj klienta k8s:
gcloud install kubectl

3. utwurz nowy klaster k8s na google cloud

4. pobierz dane dla kubectl do rozmawiania z klastrem:
gcloud container clusters get-credentials hlf –zone europe-west1-d

5. zainstaluj helma, narzędzie do łatwego stawiania aplikacji na k8s (używam macOS, dlatego używam brew do instalacji narzędzi, jeśli masz inny system użyj innego menadżera pakietów):
brew install helm

6. zainstaluje argo, narzędzie do odpalania złożonych procesów na k8s:
brew tap argoproj/tap
brew install argoproj/tap/argocd

7. zainstaluj narzędzia do hyperledger, przydadzą się do generowania certyfikatów i bloku genesis:
brew tap hyperledger/fabric
brew install fabric-tools@1.4.0

8. i jeszcze 2 narzędzia, jedno do ogarniania JSONa a drugie do YAMLa, przydadzą się do skryptów:
brew install python-yq
brew install jq

9. sklonuj repozytorium ze skryptami do stawiania HLFa
git clone git@github.com:APGGroeiFabriek/PIVT.git

10. w repozytorium wejdź do katalogu fabric-kube i odpal skrypt który wygeneruj co trzeba.
Certyfikaty i blok genesis:
./init.sh ./samples/simple/ ./samples/chaincode/

11. Tak to jest ta jedna komenda do stawiania całej sieci 🙂
helm install hlf-kube ./hlf-kube -f samples/simple/network.yaml -f samples/simple/crypto-config.yaml

Mamy to! Sieć już działa
Teraz możemy pobawić się dalej, np utworzyć kanał do wysyłania transakcji. W HLF każda transakcja jest przypisana do jakiegoś kanału.

12. Do stworzenia kanałów przyda ci się zainstalowane już wcześniej argo, ale żeby działało trzeba zainstalować jest też na k8s:
kubectl create namespace argo
kubectl apply -n argo -f https://raw.githubusercontent.com/argoproj/argo/stable/manifests/install.yaml
kubectl create clusterrolebinding YOURNAME-cluster-admin-binding –clusterrole=cluster-admin –user=YOUREMAIL@gmail.com

13. Teraz możemy stworzyć nowy kanał, na który będziemy mogli wysyłać transakcje:
helm template channel-flow/ -f samples/simple/network.yaml -f samples/simple/crypto-config.yaml | argo submit –

argo utworzy nowego poda do wykonania procesu tworzenia kanału dla peerów, możesz podejrzeć logi używając komendy:

kubectl logs hlf-channels-pcgtf-2308138487 -c main

Zamiast hlf-channels-pcgtf-2308138487 wstaw nazwę swojego poda

Logi powinny wyglądać mniej więcej tak:

2020-06-15 21:22:03.859 UTC [msp] getPemMaterialFromDir -> WARN 001 Failed reading file /etc/hyperledger/fabric/msp/admincerts/cert.pem: no pem content for file /etc/hyperledger/fabric/msp/admincerts/cert.pem
2020-06-15 21:22:03.868 UTC [channelCmd] InitCmdFactory -> INFO 002 Endorser and orderer connections initialized
2020-06-15 21:22:03.895 UTC [cli.common] readBlock -> INFO 003 Received block: 0
Channel common exists
— Channel common already exists, exiting with 0

14. Na koniec wrzucimy na sieć chain code, czyli smart contract HLF:

helm template chaincode-flow/ -f samples/simple/network.yaml -f samples/simple/crypto-config.yaml | argo submit –

znów możesz podejrzeć wynik sprawdzając logi na podzie

kubectl logs hlf-chaincodes-wx6ck-3552761254 -c main

powinny wyglądać mniej więcej tak:

2020-06-15 21:25:03.199 UTC [msp] getPemMaterialFromDir -> WARN 001 Failed reading file /etc/hyperledger/fabric/msp/admincerts/cert.pem: no pem content for file /etc/hyperledger/fabric/msp/admincerts/cert.pem
Chaincode very-simple version 1.0 is not installed to peer
— result is: 99
— Chaincode very-simple version 1.0 is not installed to peer peer0, will install..
2020-06-15 21:25:03.714 UTC [msp] getPemMaterialFromDir -> WARN 001 Failed reading file /etc/hyperledger/fabric/msp/admincerts/cert.pem: no pem content for file /etc/hyperledger/fabric/msp/admincerts/cert.pem
2020-06-15 21:25:03.726 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 002 Using default escc
2020-06-15 21:25:03.726 UTC [chaincodeCmd] checkChaincodeCmdParams -> INFO 003 Using default vscc
2020-06-15 21:25:03.732 UTC [chaincodeCmd] install -> INFO 004 Installed remotely response

Niedługo dodam do posta zmontowane video, pokazujące krop po kroku jak postawić sieć

Kategorie
technologia

Live z 25.05.2020 o blockchain

Kategorie
technologia

Ouroboros – do czego to komu?

Wónsz zjadający ogon z wikipedi

W największym skrócie do tego, żeby nie używać tyle prundu co Irlandia do ustalenia jakie transakcje i w jakiej kolejności mają być zapisane w blockchainie.

Już dawno wymyślili PoS, to chyba wszystko już załatwione, co nie?Załatwione ALE nie do końca i właśnie te szczegóły robią dużą różnicę!

Pogadamy sobie o Ouroborosie, jego historia wygląda tak:

Kategorie
technologia

Blockchain z LEGO

O tym jak działa blockchain na przykładzie klocków LEGO

Kategorie
technologia

Podpis cyfrowy ECDSA

Jak działa od strony technicznej i jak nie zrobić sobie krzywdy

Kategorie
use case

CBDC – Rozliczenia międzybankowe

Tym razem formie video na YouTube, jak można zrobić rozlicznie międzybankowe przy pomocy blockchina.
Jak może wyglądać CBDC.

Kategorie
use case

Śledzenie łańcucha dostaw

Ziemniaki i zegarek, bo trochę o tym jest ten post, zdjęcie uczyniłem sam, Rolex też pisze się inaczej, ło matko jaki długi podpis pod obrazkiem, elaborat jak pod screenami w CD-Action 😀

Po co robić śledzenie łańcucha dostaw i jak można na tym zarobić?
Jak można cały temat ogarnąć w miarę prostym smart contractem?

Kategorie
technologia

Cold wallet za darmo + interaktywny kalkulator bip-39

Obrazek z ziarenkiem bo pasuje do seeda klucza prywatnego 🙂 Obrazek by Seed Blog: link

Tym razem będzie o tym, skąd bierze się klucz prywatny i jak można go przechowywać na papierze.

Od początku: czym jest klucz prywatny?

Kategorie
technologia

Jeden by wszystkimi rządzić

pierścień by wszystkimi rządzić
Tak to ten pierścień 😉 BY https://www.flickr.com/photos/cosmic_bandita/2218419160/

Będzie o integracji wielu blockchainów w jedną sieć.
Temat z newslettera , dzięki A. za link do publikacji 🙂

Problem: Aktualnie mamy 2320 kryptowaluty (według informacji z CoinMarketCap), niektóre z nich to tokeny, więc samych blockchainów jest pewnie mniej, ale i tak to bardzo duża liczba.
W większości przypadków są to osobne sieci, które  ze sobą nie rozmawiają.
Jest kilka sposobów na to, żeby te sieci połączyć, poniżej opiszę trzy.

Kategorie
technologia use case

Wyrocznie (oracle) i ubezpieczenia

A tu taka grecka wyrocznia z wiki

Dzisiaj post o smart contraktach i o tym, czym są i do czego są używane wyrocznie (oracle). Temat z newslettera

Powiedzmy, że chcesz przygotować ubezpieczenie. Sprawa wydaje się dosyć prosta: zainteresowani wpłacają składki na kontrakt, a gdy zdarzy się wypadek, część składek przelewamy na konta poszkodowanych.

Jak by to mogło wyglądać od strony praktycznej?

Kategorie
use case

Pomysł na biznes

Tam na środku widać licznik przejechanych mil

Cześć 🙂
Tym razem pomysł na biznes z blockchain — kontrolowanie przebiegu samochodów (rozwinięcie pomysłu z listy mailowej).
Jak może wyglądać rozwiązanie oparte na blockchainie i po co on tu w ogóle? O tym poniżej.

Kategorie
technologia

O co chodzi z tymi Lightweight Contracts?

obrazek piórka bo light contracts – :badumts: 🙂 link do autora

Cześć!
Dzisiaj chciałbym opowiedzieć o lightweight contracts i o tym, czym różnią się od smart contraktów.

Kategorie
smart contracts use case

Smart contrakty – do czego to? + 3 przykłady

A taki stock, co to pasuje do tematu – smart contrakty 🙂

Cześć!
Dzisiaj bardziej od strony biznesowo-praktycznej.
Do czego można użyć smart contraktów?

Kategorie
technologia

O tym jak blockchain sharding goni Vise i MasterCard

Cześć! Co to takiego ten sharding?

Poczytałem ostatnio trochę artykułów o tym, ile transakcji na sekundę da się zrobić w Bitcoinie i w „starych” sposobach płacenia: Visa / MasterCard.

Wyszło mi coś takiego:
Bitcoin około 3 tx/s vs Visa około 1667 tx/s what???
[Wersja audio – link]