|
@@ -0,0 +1,129 @@
|
|
|
+# [KPI 36.OP-1](https://blog.joystream.org/sumer-kpis/#36.OP-1)
|
|
|
+
|
|
|
+The goal is to install a [GIZA]() validator, storage provider and distributor on a fresh VPS.
|
|
|
+
|
|
|
+## Setup
|
|
|
+
|
|
|
+### Node
|
|
|
+
|
|
|
+### Storage
|
|
|
+
|
|
|
+See [storage-node](https://github.com/Joystream/joystream/blob/giza_staging/storage-node-v2).
|
|
|
+
|
|
|
+### Distributor
|
|
|
+
|
|
|
+See [distributor-node](https://github.com/Joystream/joystream/blob/giza_staging/distributor-node).
|
|
|
+
|
|
|
+## Configuration
|
|
|
+
|
|
|
+1. Apply as storage provider and distributor, save files to ~/keys/
|
|
|
+2. Have the lead fill the opening
|
|
|
+3. Get invited to a bucket
|
|
|
+4. Verify group memberships
|
|
|
+```
|
|
|
+$ ~/joystream/cli/bin/run working-groups:overview
|
|
|
+
|
|
|
+Current Group: storageProviders
|
|
|
+
|
|
|
+___________________ Group lead ___________________
|
|
|
+
|
|
|
+Member id: 2010
|
|
|
+Member handle: storage_lead_giza
|
|
|
+Role account: 5GHPwGqcVjt3KKrEUhkgLJaizRymegx5astt4fekGVmL7F4q
|
|
|
+
|
|
|
+____________________ Members _____________________
|
|
|
+
|
|
|
+Worker id Member id Member handle Stake Earned Role account
|
|
|
+3 515 l1dev 10.0000 JOY 0 5DNe6u...ATpk38
|
|
|
+2 2012 storage_2 100.0000 JOY 0 5DGQLX...Fai2MW
|
|
|
+1 2012 storage_2 100.0000 JOY 0 5H8CPz...hoWPtP
|
|
|
+0 2010 storage_lead_giza 100.0000 JOY 0 5GHPwG...mL7F4q
|
|
|
+
|
|
|
+$ ~/joystream/cli/bin/run working-groups:overview -g distributors
|
|
|
+Current Group: distributors
|
|
|
+
|
|
|
+___________________ Group lead ___________________
|
|
|
+
|
|
|
+Member id: 2015
|
|
|
+Member handle: dist_lead
|
|
|
+Role account: 5GJWFApQiMqFjhiLWhxtVAjva7fVy7kYAf8mBgME4rGXX4Vy
|
|
|
+
|
|
|
+____________________ Members _____________________
|
|
|
+
|
|
|
+Worker id Member id Member handle Stake Earned Role account
|
|
|
+2 515 l1dev 100.0000 JOY 0 5DCCUr...qjEvK9
|
|
|
+1 2016 dist_1 100.0000 JOY 0 5GQZGW...m9z7VA
|
|
|
+0 2015 dist_lead 100.0000 JOY 0 5GJWFA...GXX4Vy
|
|
|
+```
|
|
|
+
|
|
|
+### Storage Provider
|
|
|
+
|
|
|
+- [Accept invitation](https://github.com/Joystream/joystream/tree/giza_staging/storage-node-v2#storage-node-operatoraccept-invitation)
|
|
|
+```
|
|
|
+$ ~/joystream/storage-node-v2/bin/run operator:accept-invitation -i 2 -w 3 -k ~/keys/giza-storage-l1dev.json -t 5DNe6ubsQhmcSZRZdBLJroe9qKThW9CsSGRKHiZx8pATpk38
|
|
|
+2022-01-04 15:43:26:4326 info: Initialized runtime connection: ws://localhost:9944
|
|
|
+2022-01-04 15:43:30:4330 info: Waiting for chain to be synced before proceeding.
|
|
|
+2022-01-04 15:43:30:4330 info: Accepting pending storage bucket invitation...
|
|
|
+2022-01-04 15:43:30:4330 debug: Sending storage.acceptStorageBucketInvitation extrinsic...
|
|
|
+2022-01-04 15:43:36:4336 debug: Extrinsic successful!
|
|
|
+```
|
|
|
+
|
|
|
+- set [metadata](https://github.com/Joystream/joystream/tree/giza_staging/storage-node-v2#metadata): [`storage-node operator:set-metadata`](https://github.com/Joystream/joystream/tree/giza_staging/storage-node-v2#storage-node-operatorset-metadata) ([example json](https://github.com/Joystream/joystream/blob/giza_staging/storage-node-v2/scripts/operatorMetadata.json) - [fields](https://github.com/Joystream/joystream/blob/giza_staging/metadata-protobuf/proto/Storage.proto))
|
|
|
+```
|
|
|
+$ ~/joystream/storage-node-v2/bin/run operator:set-metadata -i 2 -w 3 -j ~/bucket-2-metadata.json -k ~/keys/giza-storage-l1dev.json
|
|
|
+2022-01-04 15:46:21:4621 info: Initialized runtime connection: ws://localhost:9944
|
|
|
+2022-01-04 15:46:24:4624 info: Waiting for chain to be synced before proceeding.
|
|
|
+2022-01-04 15:46:24:4624 info: Setting the storage operator metadata...
|
|
|
+2022-01-04 15:46:24:4624 debug: Sending storage.setStorageOperatorMetadata extrinsic...
|
|
|
+2022-01-04 15:46:30:4630 debug: Extrinsic successful!
|
|
|
+```
|
|
|
+
|
|
|
+### Distributor
|
|
|
+
|
|
|
+See [docs/node](https://github.com/Joystream/joystream/blob/giza_staging/distributor-node/docs/node/index.md)
|
|
|
+
|
|
|
+- Accept invitaiton
|
|
|
+```
|
|
|
+~/joystream/distributor-node/bin/run operator:accept-invitation -B 2:0 -w 2 -c ~/joystream/distributor-node/config.yml
|
|
|
+2022-01-04 16:08:16:816 CLI info: Accepting distribution bucket operator invitation...
|
|
|
+{
|
|
|
+ "bucketId": {
|
|
|
+ "distribution_bucket_family_id": "2",
|
|
|
+ "distribution_bucket_index": "0"
|
|
|
+ },
|
|
|
+ "workerId": 2
|
|
|
+}
|
|
|
+? Tx fee of 0 will be deduced from you account, do you confirm the transfer? (y/N) y
|
|
|
+? Tx fee of 0 will be deduced from you account, do you confirm the transfer? (y/N) y? Tx fee of 0 will be deduced from you account, do you confirm the transfer? Yes
|
|
|
+2022-01-04 16:08:22:822 SubstrateApi info: Sending storage.acceptDistributionBucketInvitation extrinsic from 5DCCUrwUZuqBHMMcaswK5rk1DpFNGvuZvoZHWiHYNyqjEvK9
|
|
|
+2022-01-04 16:08:24:824 CLI info: Invitation succesfully accepted!
|
|
|
+```
|
|
|
+
|
|
|
+- set [metadata](https://github.com/Joystream/joystream/blob/giza_staging/distributor-node/docs/node/index.md#metadata) (or use the [API](https://github.com/Joystream/joystream/blob/giza_staging/distributor-node/docs/api/operator/index.md))
|
|
|
+```
|
|
|
+~/joystream/distributor-node/bin/run operator:set-metadata -B 2:0 -w 2 -c ~/joystream/distributor-node/config.yml -i ~/distributor-metadata.json
|
|
|
+2022-01-04 16:25:29:2529 CLI info: Setting bucket operator metadata...
|
|
|
+{
|
|
|
+ "bucketId": {
|
|
|
+ "distribution_bucket_family_id": "2",
|
|
|
+ "distribution_bucket_index": "0"
|
|
|
+ },
|
|
|
+ "workerId": 2,
|
|
|
+ "metadata": {
|
|
|
+ "endpoint": "https://giza-l1dev.joystream.app/distributor",
|
|
|
+ "location": {
|
|
|
+ "countryCode": "US-NJ",
|
|
|
+ "city": "Newark",
|
|
|
+ "coordinates": {
|
|
|
+ "latitude": 40,
|
|
|
+ "longitude": 74
|
|
|
+ }
|
|
|
+ },
|
|
|
+ "extra": "Welcome to Joystream GIZA - America branch! -- operated by l1dev (dev@joystreamstats.live)"
|
|
|
+ }
|
|
|
+}
|
|
|
+? Tx fee of 0 will be deduced from you account, do you confirm the transfer? (y/N) y
|
|
|
+? Tx fee of 0 will be deduced from you account, do you confirm the transfer? (y/N) y? Tx fee of 0 will be deduced from you account, do you confirm the transfer? Yes
|
|
|
+2022-01-04 16:25:39:2539 SubstrateApi info: Sending storage.setDistributionOperatorMetadata extrinsic from 5DCCUrwUZuqBHMMcaswK5rk1DpFNGvuZvoZHWiHYNyqjEvK9
|
|
|
+2022-01-04 16:25:42:2542 CLI info: Bucket operator metadata succesfully set/updated!
|
|
|
+```
|