# Salp testnet
[ToC]
## What the f**k is Salp?

> :sunrise:[What salps have to do with climate change?](https://www.theguardian.com/environment/2021/jun/17/weatherwatch-how-the-humble-salp-is-helping-to-fight-the-climate-crisis)
> :chains:[Salps form a collaboarative chains to move around!](https://en.wikipedia.org/wiki/Salp)
## Why testnet?
* to get a quick know-how among parties involved especially related to:
* upgrades
* key management
* deployment
* governance
* to serve as a base for final canary network with regard to:
* genesis chain specification
* features (i.e. sudo)
* governance
* consensus mode
* inicial token allocation based on another chain state / contract state
* automated "click&deploy" production infrastructure setup in remote clouds
## Roadmap
### 1: [Relay Chain][REVIEW] and launch whatever
- [x] review [polkadot-deployer](https://github.com/w3f/polkadot-deployer)
- [x] [polkadot-deployer](https://github.com/w3f/polkadot-deployer) - launch "click&deploy" single node on remote GCP cluster with all production auxiary services => [check live network](https://polkadot.js.org/apps/?rpc=wss%3A%2F%2Fenergyweb2-testnet-1.drunkoliv.es%2F#/staking/targets)
- [x] bump kubernetes version requirement
- [x] dump diff of changes of the polkadot-deployer from the gcp project for future iterations
- [x] review how to create custom chainspec for relay chain creation with latest polkadot version =>
mix of [substrate](https://github.com/paritytech/substrate) and [polkadot](https://github.com/paritytech/polkadot) repos chainspec generator tools
* `polkadot build-spec --chain kusama > salpChainspec.json` - with Kusama as a base
* `cargo build -p chain-spec-builder --release`
* `./target/release/chain-spec-builder generate <config flags here>`
* merge both manually
- [x] review [polkadot-charts](https://github.com/w3f/polkadot-charts)
- [x] review [polkadot-claims](https://github.com/w3f/polkadot-claims)
### 2: [Relay Chain][CHAINSPEC] Setup a testnet with custom salp chainspec locally
- [x] make some initial assumptions with regard to genesis chain spec
- [x] single node (Alice)
- [x] multi node (Alice & Bob)
### 3: [Relay Chain][HELM] Setup a remote single node with custom salp chainspec on remote cloud (GCP)
- [ ] [polkadot-charts](https://github.com/w3f/polkadot-charts) - fork repo to update charts with template of custom `salp` chainspec - original is [here](https://github.com/w3f/polkadot-charts/blob/master/charts/polkadot/templates/configmap.yaml)
### 4: [Relay Chain][TERRAFORM] Setup multicluster relay chain with custom salp chainspec on remote cloud (GCP)
- [ ] min 3 validators
- [ ] + non-validating nodes
- [ ] keep it running for testing and playing around
---
:::danger
I would park it here before any further development. We would have to finalize at least initial specifications!
:::
### 5: ["Old" Chain] Test smart contracts and desired setup for initial balances allocation
- [ ] Test smart contracts modifications
- [ ] Run tests with "Old" chain testnet
- [ ] Import balances to Relay Chain genesis chainspec or i.e. manual transfers
### 6: [Relay Chain]
- [ ] Finalize genesis chainspec
- [ ] Finalize "click&deploy"
## Open questions (for later)
- [ ] PoA mode or staking from genesis?
- [ ] Relay Chain in line with Kusama or Poladot ?
- [ ] Upgrading with similar path to Polkadot/Kusama or launch already full featured?
- [ ] Do we use [polkadot-claims](https://github.com/w3f/polkadot-claims) to be alligned with (possisbly outdated?) parity tools for genesis chain spec or we can do other simplified approach.
- [ ] Strategy for initial allication
- [ ] Initial Cloud Providers Support:
- [x] GCP
- [ ] Azure
- [ ] AWS
- [ ] SUDO pallet with or without?