bkys-cli
v1.0.8
Published
BKYS smartcontract ve node konfigurasyonu yönetim aracı.
Downloads
2
Readme
bkys-cli
BKYS smartcontract ve node konfigurasyonu yönetim aracı.
Bağımlılıklar
- Nvm Kurulum talimatı
- Node 14.18.1
- NPM 6.14.15
NVM yüklendikten sonra node 14 LTS versiyonu aşağıdaki komut ile yüklenir
$ nvm install 14
- Ethereum Kurulum talimati
- Geth
- Bootnode
Dikkat Edilecek Hususlar
- Yeni node kurulum adımlarına geçmenden önce NVM ve Ethereum executable'larinin kurulumundan emin olunmalı
- Root kullanıcı için kurulum yapılacaksa aşağıdaki komut NPM komutu çalıştırılmalı
$ npm config set user 0
- bkys-cli contract ilklendirilmesi yapmadan kullanılacak ise aşağıdaki komut ile kullanılacak contract belirtilmelidir
$ bkyscli contract use <contract_address>
- Sistemdeki diğer paketlerle çelişmemesi için bkys-cli'nin local olarak kurulması tavsiye edilir
- bkys-cli'nin address yetkilendirmesi yapabilmesi için Owner olan düğümlerin RPC'sine bağlı olması gerekir
Kurulum
Öncesinde bağımlılıklar tamamlanmalıdır.
NPM üzerinden local kurulum.
$ npm install bkys-cli
$ # isteniser node_modules de ki executable sistem path'ine eklenebilir.
$ ln -s $PWD/node_modules/.bin/bkyscli /usr/local/bin/bkyscli
$ # bkyscli ....
NPM üzerinden global kurulum.
$ npm install bkys-cli -g
$ # bkyscli ....
Gitlab repository'si üzerinden kurulum.
$ git clone https://bag.org.tr/proje/ticari/bkys/bkys-cli
$ cd bkys-cli
$ npm install
$ # ./bin/bkyscli ....
Kullanım
Contract İşlemleri
Contract ilklendirme. Yeni contract oluşturur.
$ bkyscli contract init (owner == tx.sender)
Önceden oluşturulmuş contract'ı bkys-cli'ye tanıtma
$ bkyscli contract use <contract_address>
Other owner adresini contract'a ekleme
$ bkyscli contract otherowner <other_woner address>
Şirket yetkilendirme
$ bkyscli contract authr <new_company_address>
Node Konfigurasyonu
node.yml dosyası kullanılarak bkys-node'un kullanacağı environment variable'leri içeren .env oluşturlur.
Örnek node.yml dosyası
nodeName: new-node
account: null
mine: False
keyfile: null
pw: null
contract: "0xF7cF4B6E931F3e3c296B82f0c6D77FdB666f4055"
nodekey: null
$ bkyscli config create node.yml
Kanıt İşlemleri
$ bkyscli contract addp <id> <val>
$ bkyscli contract delp <id>
$ bkyscli contract getp <id>
$ bkyscli contract state (owners, companies, etc.)
Ethereum İşlemleri
bkyscli ether send <to> <value> (suan sadece ether birimini destekliyor)
Kullanılan RPC URL'sini değiştirme
localhost
dışındaki RPC kullanılacaksa ~./config/bkyscli/config.json
dosyasındaki "rpcEndpoint"
fieldi değiştirilmelidir.
{
"rpcEndpoint": "http://localhost:8545"
}
Yeni Node Ekleme İşlemleri
bkys-cli'nin address yetkilendirmesi yapabilmesi için Owner olan düğümlerin RPC'sine bağlı olması gerekir
1. Yeni node için konfigurasyon hazırlama
node.yml
konfigurasyonunun hazırlanır. Yeni şirket ekleme senaryosu için Node Konfigürasyonu bölümündeki konfigürasyon kullanılabilir.
2. Kullanilacak contract'in bkys-cli'ye tanıtılması yada Contract ilklendirme
İlklendirilmiş contract'ın bkys-cli'ye tanıtılması
$ bkyscli contract use <contract_address>
Contract ilklendirme
$ bkyscli contract init
3. Adrese Kanıt Ekleme Yetkisi Verme
$ bkyscli contract authr <yeni_sirket_adresi>