SSI-Türkiye Hyperledger Indy Test Ağına Katılım

Test ağı düğümü iki yöntemle kurulabilir.  Tek düğüme manuel kurulum ve Docker İmajı ile hızlı kurulum.

Aşağıda iki yöntem de açıklanmıştır.

 

Ön koşullar

  • Bu ağa katılabilmek için bir Ubuntu 16.04 makina tahsis edilmesi gerekir.
  • Kurum dışından (Internet üzerinden) Bu makinanın 9701-9702 port aralığına erişimine izin verilmelidir
  • Bu makineden, Internet üzerindeki makinaların 9701-9708 ve 11371 portlarına erişime izin verilmelidir
  • Portlarınızın dışarıdan erişilebilirliğini test etmek için bu siteyi kullanabilirsiniz

 

Kurulum Yöntemi-1 (Manuel kurulum)

1- sudo apt-key adv –keyserver keyserver.ubuntu.com –recv-keys CE7709D068DB5E88

  • Timeout hatası alıyorsanız, 11371 portu izinli olmadığı için firewall sorununuz vardır. Bunun yerine aşağıdaki komutu çalıştırablirsiniz.
  • sudo apt-key adv –keyserver hkp://keyserver.ubuntu.com:80 –recv-keys CE7709D068DB5E88

2- sudo bash -c ‘echo “deb https://repo.sovrin.org/deb xenial stable” >> /etc/apt/sources.list’

3- sudo apt-get update

4- sudo apt-get install indy-node

5- sudo apt-get install indy-cli

 

Konfigürasyon

1- Bu linkten pool_transactions_genesis dosyası indirilir. (Not: BAĞ’da üyeliğinizin bulunması gerekiyor.)

2- init_indy_keys –name NODE-ADINIZ –seed BELIRLEDİĞİNİZ-SEED-DEĞERİ –force

  • Bu adımda ekrana yazılan değerleri not edin (bls key ve diğerlerini)

3- indy-cli

  • Komut çalıştırıldıktan sonra imleç indy komut satırı arayüzüne düşecektir.

4- İlgili poola bağlanmak için:

  • pool create BLCIDN gen_txn_file={ABSOLUTE_PATH}
  • Yukardaki komutta gen_txn_file parametresine indirdiğimiz pool_transactions_genesis dosyasının absolute path’ini vermelisiniz.

5- Artık ağa bağlanılabilir

  • pool connect BLCIDN

6- Ağa dahil olabilmek için DID oluşturulması gerekir. Önce bir cüzdan oluşturulur;

  • wallet create [CÜZDAN ADI] key=[CÜZDAN ICIN BELİRLENEN ANAHTAR DEĞERİ]
  • Anahtar değeri güvenli bir şekilde saklanmalıdır. Cüzdan üzerindeki verilerin güvenliği bu anahtar değeri ile sağlanmaktadır.

7- DID oluşturma işleminin gerçekleştirilebilmesi için cüzdan açılır.

  • wallet open [CÜZDAN ADI] key=[CÜZDAN ICIN BELIRLENEN KEY DEĞERİ] 

8- Cüzdan içinde DID oluşturulur,

  • did new seed=[ILGILI ROLÜN (STEWARD, TRUST_ANCHOR vs) VERİLECEĞİ DID İÇİN BELİRLENEN SEED DEĞERİ]
  • Ekrana yazılan DID ve VERKEY değerleri (~ile başlayan) not edilir.

9- DID ve VERKEY değerleri bag.yonetici@gmail.com adresine mail atılarak düğüm ekleme işleminin gerçekleştirilmesi talep edilir. Maile cevap beklenir.

  • Ledger’da sizin DID değerinizi için Rol atama transaction çalıştırılır ve size sonuç bildirilir.

10- Düğüm ağ havuzu ledgerına kayıt edilir (Bu örnek Steward tipinde node için yazılmıştır ama Endorser olarak da eklenebilir);

  • ledger node target=[init indy keys adımındaki çıktıda yazan verification key değeri] client_port=[istemci port değeri] client_ip=[dışarıdan erişime açık düğümün çalıştığı makinanın Internetten görülecek gerçek ip değeri] alias=[ init_indy_keys adımında kullanılan isim] node_ip=[ dışarıdan erişime açık düğümün çalıştığı makinanın Internetten görülecek gerçek ip değeri] node_port=[ düğüm port değeri] services=VALIDATOR blskey=[init_indy_keys adımında oluşan blskey değeri] blskey_pop= [init_indy_keys adımında oluşan Proof of posession for BLS key değeri]
  • !!! Bu komut içinde Gerçek IP değerleri kullanılmalı. Normal durumda client_ip ve node_ip değerleri birbirinin aynısıdır.
  • Örneğin: Düğüm port için 9701, client port için 9702 kullanabiliriz.

11- Bu komut başarılı bir şekilde çalıştırıldıktan sonra düğüm LEDGER’a kayıt edilmiş demektir. Artık indy-cli ortamından çıkış yapılır ve indy-node çalıştırılır:

  1. start_indy_node [ init_indy_keys adımında verilen isim] [ init_indy_keys adımındaki node_ip değeri] 9701 [ init indy keys adımındaki client_ip değeri] 9702
    Son komutu da çalıştırdıktan sonra düğüm artık BLCIDN’e dahil olmuş olarak çalışmaya başlar. Son komut system servis olarak çalıştırılmalıdır.
  2. Not: Bu adımda SHA3 modülünde hata çıkarsa, python eski sürümleri ile çakışma olduğu içindir. Aşağıdaki komutlarla bu durumu düzeltebilirsiniz
    • sudo apt purge python2.7
    • pip3 install pysha3
    • [pip3 install sha3]

 

Kurulum Yöntemi-2 (Docker ile hızlı kurulum)

Düğümünüzü docker konteynerinde çalıştırmak isterseniz;

Bu linkten bizim hazırladığımız imajı indiriniz, aşağıdaki adımları yapınız.

  1. docker load < ssi-tr-node.tar
  2. docker run -itd -p 0.0.0.0:9701-9702:9701-9702 ssi-tr-node
  3. docker exec -it {konteyner_ismi} bash 
    Burdaki konteyner ismi, docker ps yazdığınızda çıkan, ssi-tr-node imajıyla kaldırılmış konteynerin NAMES alanındaki ismidir.
  4. indy-cli
  5. Önceki bölümdeki Konfigürasyon başlığındaki 5. ve sonraki adımlar yürütülür.

Herhangi bir komutta beklenmedik bir hatayla karşılaşılırsa sudo ön ekiyle tekrar çalıştırılabilir.

 

Kurulum Testi

SSI-Türkiye Indy test ağını görüntülemek için bu linki kullanabilirsiniz (Düğümünüz Pool txs kısmında, Steward veya Endorser rolünüz Domain txs kısmında gözükecektir).

 

Leave a Comment

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir