# Likecoin Validator
###### tags: `likecoin`
## Basic Information
chaind id: likecoin-mainnet-2
doc: https://docs.like.co/validator/likecoin-chain-node/setup-a-node
other doc: https://github.com/mediumwe11/LikeCoinGuides/
using custom directory: https://discord.com/channels/763001015712350231/862963137417838603/957256182601482260
1 likecoin = 1,000,000,000 nanolike
## Explorer
* Big Dipper: https://likecoin.bigdipper.live
* Lunie 3: https://stake.like.co/welcome
* Ping.Pub: https://ping.pub/likecoin
* OMMIFLIX, https://likecoin.omniflix.co/
* BitSong, https://wallet.bitsong.io/
* ATOMScan, https://atomscan.com/likecoin
## Commands
### Check the likecoin chain container name
```bash=
docker ps -a
```
### Help
```bash=
# ??
docker-compose run --rm liked-command --help
```
### get the validator address
```bash=
docker-compose run --rm liked-command keys list
```
### Check the available amount of validator
```bash=
docker-compose run --rm liked-command \
query bank balances [validator address] \
--chain-id likecoin-mainnet-2 \
--node tcp://liked-service:26657
```
### Check the reward of vlidator
```bash=
docker-compose run --rm liked-command \
query distribution rewards [validator address] \
--chain-id likecoin-mainnet-2 \
--node tcp://liked-service:26657
```
### Check the sync status
The service is restricted to localhost by defalut, cannot directly access outside the server.
```bash=
curl localhost:26657/status
```
### Query validator commission and reward
```bash=
#liked command, tbc
```
.
```html
https://mainnet-node.like.co/distribution/validators/[validator address]
```
https://mainnet-node.like.co/distribution/validators/cosmosvaloper1j4k7ya6fa8eyg5vtpdmhf30fz5cn00330uj00f
### Withdraw commission and reward
```bash=
docker-compose run --rm liked-command \
tx distribution withdraw-rewards [validator address] \
--commission \
--from validator \
--chain-id likecoin-mainnet-2 \
--node tcp://liked-service:26657
```
### Sendout likecoin from validator
```bash=
docker-compose run --rm liked-command \
tx bank send validator [to address] [likecoin amount]nanolike \
--from validator \
--chain-id likecoin-mainnet-2 \
--node tcp://liked-service:26657
```
### Unjail validator
0.01% of the delegated LikeCoin will be slashed if you are jailed.
Reference: https://docs.like.co/user-guide/background#9e68
```bash=
docker-compose run --rm liked-command \
tx staking unjail \
--from validator \
--chain-id likecoin-mainnet-2 \
--node tcp://liked-service:26657
```
### Edit validator moniker and details
```bash=
docker-compose run --rm liked-command \
tx staking edit-validator \
--from validator \
--moniker="<your_moniker>" \
--details="<your_details>" \
--website="<your_website>" \
--chain-id likecoin-mainnet-2 \
--node tcp://liked-service:26657
```
for the avatar, you need to
register https://keybase.io/
--> upload avatar
--> add PGP key (only on desktop program)
--> find the 16 characters
--> edit validator by using above command with ```--identity [16 chars from keybase]```
### Deposit proposal
```bash=
docker-compose run --rm liked-command \
tx gov deposit [proposal id] [likecoin amount]000000000nanolike \
--from validator \
--chain-id likecoin-mainnet-2 \
--node tcp://liked-service:26657
```
check record:
https://stake.like.co/welcome
-> Explore with any address
-> enter self delegate address
-> Explore
-> Transactions
### Vote proposal
```bash=
# query proposal
docker-compose run --rm liked-command \
query gov proposals \
--chain-id likecoin-mainnet-2 \
--node tcp://liked-service:26657
# vote proposal
docker-compose run --rm vote [proposal id] yes
```
check record:
https://stake.like.co/welcome
-> Explore with any address
-> enter self delegate address
-> Explore
-> Transactions
Check the vote record: goto bigdipper -> validator -> Self-Delegate Address -> ~~governance record~~
### Import old validator to new node
use the mnemonic words
```bash=
docker-compose run --rm liked-command \
keys add validator --recover
```
## Backup & Restore
should backup mnemonic words, private key, operator key and consensus key. otherwise, you may not able to recover the valiator.
files inside `.liked/config`
### Backup
N/A
### Restore
N/A
## Transaction fee
transaction fee = gasWanted x gasPrice, [[source]](https://matters.news/@edmond/%E8%AB%87%E8%AB%87%E8%BD%89%E5%B8%B3-like-coin-%E7%9A%84-gas-%E8%B2%BB%E7%94%A8-bafyreiaj5bbeu72rlt3bh5ukvaghzij6xhchswtckeza7kbzcqwbsuqqze)
gasWanted = 200,000 nanolike
Liker Land team settings [[ref]](https://discord.com/channels/763001015712350231/786614171239448576/899005080362172488):
* 0.01 (for user, which don't hold LIKE, login keplr, the low gas price)
* 1 (likecoin normal gas price at Keplr)
* 10 (the civic tx gas price of liker classic and ibc relayer)
* 1000 (default gas price of like.co and liker.land; keplr high gas price)
suggest 1 or 1000
### Edit minimum gas price
```bash=
# edit minimum price
nano .liked/config/app.toml
## then edit
## minimum-gas-prices = "1nanolike"
# restart docker
docker-compose stop
docker-compose up -d
```
you need to add the paramenter `--fees` to tx commmand otherwise the tx will be rejected. i.e. `--fees 2000000nanolike`
### Query the self peer address
```bash=
# query node id
docker-compose run --rm liked-command tendermint show-node-id
# query ip
curl -4 ifconfig.co
```
your peer address will be [node id]@[ip]
## Resign Validator
Since you don't who delegate coins to you, you should try to make announcement
```bash=
# only undelegate the self delegation
docker-compose run --rm liked-command \
tx staking unbond [validator-address] \
--from validator \
--chain-id likecoin-mainnet-2 \
--node tcp://liked-service:26657
```
## Node Monitoring
### AWS
create an alarm to monitor the network traffic of EC2, i.e. 5min AVG < 5M
### Discord Bot
LikeCoin Discord Channel #mainnet-node-status, use `!bind [validator address]` to bind your Discord account with the validator
## Troubleshooting
Transaction error
* check the transaction message on bigdipper
Block signing
* Disk issue will cause failure of block signing.
* SSD is much better than HDD.
* If the resource is not enough, i.e. CPU, RAM, Disk, network, the program can run, but many missing block. The monitor&dashboard of resource may always display normally number.
### known issue
#### docker, unsupported config option
error message
```
Unsupported config option for services.crete-validator: 'profiles'
Unsupported config option for services.init: 'profiles'
Unsupported config option for services.liked-command: 'profiles'
Unsupported config option for services.vote: 'profiles'
```
Please check the version of docker compose, it should >= 1.29
#### permission deined
error message
```
mkdir: cannot create directory '/host/.liked': Permission denied
mkdir: cannot create directory '/host/.likecli': Permission denied
```
change the uid to 0 in the .env file, then execute the command with sudo
#### port in use
error message
```
for liked-service Cannot start service liked-service: driver failed programming external connectivity on endpoint likecoin-chain_liked-service_1 (xxxxxxxxx): Error starting userland proxy: listen tcp4 0.0.0.0:26656: bind: address already in use
```
please first check that is any docker instance using the port 26656, if yes delete that instance and try again. If no, please use ```lsof -i :26656``` to check other porgram, if a proram is using the port 26556, try to reconfig that program.
#### post failed
```
post failed: Post "http://liked-service:26657": dial tcp: lookup liked-service on 127.0.0.xx:yy: no such host
```
should confirm the docker instance is running normally.
#### cannot find keyring
message
```
Error: The specified item could not be found in the keyring
```
check the keys
```bash=
docker-compose run --rm liked-command keys list
```
if it reuturns ``` [] ``` it means not keys, you need to
* import the old key, or
* migrate the old key, or
* create new key
#### disk full
should resize the disk before full, otherwise data will corrupt, need to restore from snapshot and resync
#### some issue
```.likecli```, ```.liked``` should not use sym links
## License
[CC0](https://creativecommons.org/publicdomain/zero/1.0/)