likecoin

Month: 2020-09

2020-09-01

leafwind 21:26:33
正在同步我的 validator 區塊,不過可能是機器開得太小,兩天多過去現在才記帳到七月,或許是明天會有機會 activate。
再來得觀察之後的硬體使用狀況、評估是否要換機器,又或是要加硬碟,或許會需要有人經驗分享(如果沒有的話就我自己分享XDD)
• 在追區塊的時候是 CPU bound,猜測追完之後有機會用 CPU 比較少的機器
• memory 一直都不是問題,1G 的機器完全足夠,擔心的話開 swap 留 buffer 即可
• 硬碟是初期成本比較大的地方,未來應該也只會增加不會減少
• 硬碟的管理也麻煩,之後不管是要增加空間、mount device 或者是更換機器,都需要小心
Phoebe 菲比 2020-09-02 11:29:16
謝謝分享,對想當validators 的會很有用
追到九月的記帳 block 大約只需要 30G 的硬碟,但考慮到未來擴充維護,建議一開始就開一個可以彈性增加的 EBS 或是 Block storage volume 作為硬碟空間(不確定有沒有其他更好的配置方法,像是手動指定部分資料存放在不同 mount路徑)
另外想伸手牌請問一下 @imwmbm ,關於 key 的問題:
• 如果不考慮 cosmos 帳戶裡面的 LikeCoin,手動置換 cosmos key 是做得到的嗎?譬如我現在沒有任何人的委託,帳戶也是 0,這時候有辦法重新生成一個 key,然後延續記帳的紀錄下去?
• cosmos key 理論上也是一個 likecoin 帳戶,但要如何轉帳給別人?有什麼服務入口能夠登入嗎?
如果是指 validator 的地址的話,沒辦法更換
轉賬的話可以用 cli,指令大概是 `likecli tx send FROM TO_ADDRESS VALUE`
當中 `VALUE` 的格式是 `1000000000nanolike` 代表 1 LIKE(鏈以 `nanolike` 作為單位,1nanolike = 10^-9 LIKE)
另外需要指定 chain-id、home 之類,在 validator node 上用 Docker 執行的話大概是這樣:`docker exec -it likechain_liked likecli --home /likechain/.likecli tx send validator cosmos1xxxxxxblablablaxxxxblabla 1000000000nanolike --chain-id likecoin-chain-sheungwan`
了解,其中的 `validator` 也算是 FROM 的地址一部分?
FROM 可以用儲存過的 key 的名字,script 裏自動指定為 `validator`
`likecli keys list` 可以看到
```# docker exec -it likechain_liked likecli keys list
[]```
需要加入 `--home /likechain/.likecli`
```# docker exec -it likechain_liked likecli --home ~/likecoin-chain/.likecli keys list
[]```
🤔
`--home` 指定的是 container 裏的 path,不受 container 外的 path 影響,所以你直接用 `/likechain/.likecli` 就可以了
了解了~所以 validator 對應到自己的 cosmos address, 那個 blahblah 是 TO address
剛剛同步完成了,但沒有在無效驗證人清單中看到,應該是還缺什麼步驟?
```sync_info: {
latest_block_hash: "CB8551456143047389EE9792010669860F459AD67E221F21CBAAE99B789B89FC",
latest_app_hash: "0F1E7C20B3111F75073B6A1F91BE51D135A8B03CFE5F3460FD41A41E90702889",
latest_block_height: "4561104",
latest_block_time: "2020-09-02T10:12:56.200403905Z",
catching_up: false,
},```
需要把要自我委託的 LIKE 放進 validator 地址裏,然後運行 `./staking.sh` 創建 validator 並自我委託
• 為了以後的硬碟空間所以重開機器
• 另外這台機器同步時 CPU 使用率雖然高,但是正式在記錄的時候使用率不到 10%,所以順便調整了機器 type
• 壓縮檔案比想像的久,也是 CPU bound,這點有點頭痛,下次如果要 migration 的話 downtime 會有點久(雖然 14 小時應該不容易超過)
成功了 https://likecoin.bigdipper.live/validator/cosmosvaloper1g2dpslkge0wmhgpdegeg0wq549syz8tjrpnum3
但我的 keybase 好像設定錯誤,投向也不知道去哪裡改 🤔
如何 deactivate validator?看起來再執行一次 `./staking.sh` 是無效的,得先把目前的 validator 取消才行
note: 自己更改了 script 使用 `tx staking edit-validator` 去更新資料,但 24hr 內只能更新一次
呃,原來技術文件這麼完整,我還一直麻煩大家
https://docs.like.co/developer/likecoin-chain-node/validator-technical-introduction
不算很完整,不過因為忙碌一直沒有整理/補充/更新,實在慚愧
文檔以 Gitbook 生成,右上角 `Edit on GitHub` 可以進入 Github repo,歡迎提交 PR 🙇‍♂️
先試了幾個補完整一點
https://github.com/likecoin/dao/pull/9
在執行跟 validator address 有關的指令像是
`likecli tx distribution withdraw-rewards $VALIDATOR_ADDRESS`
或是
`likecli tx staking delegate $VALIDATOR_ADDRESS 99046200000nanolike`
都會遇到這種錯誤
`ERROR: {"codespace":"sdk","code":9,"message":"account does not exist"}`
原來是少了 --from [delegator_address]
2 👏 2

2020-09-02

leafwind 13:19:53
有辦法知道驗證人是什麼原因失效的嗎?譬如台灣事實查核中心,今天才發現它的狀態變成閒置
失效有兩種情況:
1. 太久沒上線,最近 10000 區塊內上線率不到 5%,這時會被暫時踢出 validator set,並被罰沒 0.1% 委託金,恢復上線後可以通過發送 unjail 交易重新加入 validator set
2. 雙重簽名,簽署了互相衝突的區塊,會被視為對鏈的攻擊,會被永久踢出 validator set,不能恢復,且罰沒 5% 委託金
多數情況都是 1,這次台灣事實查核中心也是,似乎是他們的雲端服務方面出了問題
2 有在 Cosmos Hub 出現過(軟件配置不當,備份節點以為主節點死掉了,實際沒死,於是兩個節點同時上線並簽署了兩個不同區塊)
了解了,我在 https://likecoin.bigdipper.live/validators/inactive 看到了,前兩天似乎還是 active,所以我以為自己看錯了
另外我發現轉委託並不會有 21 天冷卻時間,這個蠻有趣的
是的,這時 Cosmos SDK 的特別設計
了解,感謝解說

2020-09-03

2020-09-04

laurie 17:54:16
@laurie has joined the channel

2020-09-05

leafwind 08:27:41
寫了一篇文章解釋何謂驗證人,算是一半從官方文件翻譯來,目前應該還沒有官方翻譯?
如果有錯誤請跟我說
https://www.notion.so/leafwind/7367a53328d24aa4a791c0ca1acc31c5

leafwind 的工作空間 on Notion

什麼是 LikeCoin 驗證人,如何選擇驗證人?

驗證人(Validator)是 LikeCoin 治理當中一個非常重要的概念,這並非 LikeCoin 獨創,而是承襲自 Cosmos 整個開放生態系而來。

2020-09-10

黃牛山人 11:25:37
Liker Land 的重要更新: Super Like 正式推出。請大家下載來試試看吧!
Super Like 的功能介紹: https://docs.like.co/v/zh/user-guide/content-creators/how-it-works/superlike

docs.like.co

Super Like — 內容策展

何謂 Super Like?Content Jockey 內容伯樂又是甚麼?

leafwind 12:18:01
後來覺得以後若能做到直接民主,去呼籲 Liker delegate 給驗證人的動機是不是就會被弱化到只為了利息?還是原本間接民主很難讓大家理解,可能也就已經只是為了利息了?

寫了一篇文章解釋何謂驗證人,算是一半從官方文件翻譯來,目前應該還沒有官方翻譯? 如果有錯誤請跟我說 <https://www.notion.so/leafwind/7367a53328d24aa4a791c0ca1acc31c5>

2020-09-12

2020-09-14

2020-09-21

Nicholas Yau 01:10:33
想請教一下 LikeCoin 團隊,有關 Submit Proposal 的一些參數設定:
likecli tx gov submit-proposal --title=“Test Proposal” --description=“My awesome proposal” --type=“Text” --deposit=“10test” --from mykey

--type 有沒有特定格式要求,還是我按提案類型自行命名就可?

--deposit 這個應該怎樣填寫,是否填寫 LikeCoin proposal 的押金?

--from 不清楚這一個應該填甚麼?
`type` 可以是 `text` / `parameter_change` / `software_upgrade`
`text` 是純粹投票共識的 proposal,軟件上不影響鏈的運作
`parameter_change` 通過後會直接更改鏈的某些參數,例如 validator 數目
`software_upgrade` 目前尚未支援
以這次的 proposal 來説,`text` 就可以了

`deposit` 是押金,單位是 `nanolike`(9 個零),例如想押 10000 LIKE 就寫 `10000000000000nanolike`
押金不需要全部由提議者自己來押,別人可以在 deposit period (兩星期)內押

`from` 是 `likecli` 簽署交易用的地址,可以以 `likecli keys list` 看到列表
假如是運行 `./scripts/init.sh` 的話,腳本生成的地址名為 `validator`,所以可以輸入 `--from validator`
Nicholas Yau 2020-09-21 12:00:15
Thanks 😊 大致了解,我試一試看能否成功提交
Nicholas Yau 2020-09-21 12:17:11
奇怪我執行likecli keys list 發現沒有任何資料
你是 `docker exec` 嗎?需要加上 `--home /likechain/.likecli`
Nicholas Yau 2020-09-21 12:20:40
有了 🙂 我應該用的是address還是pubkey?
直接用 `name` 就可以了,`address` 也可以
注意所有 `likecli` 的指令都需要 `--home /likechain/.likecli`,發送交易還需要加上 `--chain-id likecoin-chain-sheungwan`
Nicholas Yau 2020-09-21 12:43:59
confirm transaction before signing and broadcasting [y/N]:
Nicholas Yau 2020-09-21 12:44:24
選N 直接 broadcast就可以?
不是,要 signing 的
y -> sign, then broadcast
N -> abort
Nicholas Yau 2020-09-21 12:49:51
押金是填我現在要付的,還是要填總數1M Likecoin?
填你現在要付的
1M 是鏈的設定,無法更改
Nicholas Yau 2020-09-21 12:50:46
呀。。。我誤會了
Nicholas Yau 2020-09-21 12:51:37
這個是失敗了吧?我再更改likecoin金額,重新執行一次就OK?
是的
Nicholas Yau 2020-09-21 12:53:37
這個是扣除addreess可用的還是委托中的likecoin?
address
Nicholas Yau 2020-09-21 12:54:37
即是我的address內如果所有likecoin都是委托中就不能用了?我要再轉帳likecoin到address中
是的
Nicholas Yau 2020-09-21 13:35:46
成功了,謝謝幫忙

2020-09-25

觀韻 16:12:34
刚才 likerland 增加委託時,把收益自動提取回來了,請問這是功能設計還是 bug
這是 Cosmos SDK 的設計
理論上最好的設計是沒有提取收益迪功能,每個區塊自動提取
彈這會很耗費鏈的資源,因此收益被設計成延遲計算(lazy computation),只有在委託有變化,或者手動提取時才結算
理解了,感謝
觀韻 23:04:36
如果可以告知預估當前收益率下,一周、一月甚至半年的收益,可能更能吸引大家委託自己的 like

2020-09-27

觀韻 20:49:09
請教一個問題,我的 linux 是 Ubuntu 在成為驗證人的時候不需要安裝 docker 了對麼
?不是啊,你需要 Docker 運行節點吧
這樣啊,我不太懂技術原理,我來安裝下
觀韻 20:49:40
另外現在節點大小大概多少呢
20~30GB 左右吧,我自己的節點是 24GB

2020-09-28

觀韻 20:41:36
同步一天了,才刚刚同步一半的区块。
沒辦法,差不多一年的區塊,目前需要全部同步,所以可能需要兩三天時間
下個版本會有 state sync,假如足夠多 node 啟動這個功能的話,應該可以大大加快同步速度
觀韻 20:49:34
另外想请教大家,自我委托的话,可以直接把我在别的验证人的委托转移到我的自我委托的地址上么
可以呀,和平常一樣 redelegate 過去就可以了
明白了,感谢(•‿•)

2020-09-30

觀韻 19:02:16
请问节点服务器用 ecs 是不是更好些,可以彈性擴展
我對部署不太熟悉,只要能運行容器和掛載目錄(主要是 `.liked`,假如想直接在容器裏用命令行運行管理指令 `likecli` 的話,需要加上 `.likecli` 目錄,裏面有管理帳户的私鑰)就可以了
你可以摸索一下,也希望你分享相關經驗
注意 `.liked` 目錄裏也有私鑰,是驗證區塊用的私鑰,建議整個 `.liked/config` 目錄備份
不是這個,同步是同步完了,然後想到這個我的 server 擴展存儲需要 snapshot 再重建 server 不能彈性擴展
所以在想換一個 server
可以呀,要避免重新同步的話,可以把原本 server 的 `.liked` 目錄整個搬到新 server
明白了 (•‿•)
又来请问问题了,如果我的服务器 盘1 容量满了,会自动往盘 2 同步节点还是会同步失败。虽然现在没有,为了稳定还是想提前了解下
另外 server 的扩容升级要重启算是下线么
會失敗,因為鏈只會寫入 .liked 目錄,假如 .liked 目錄所在的盤滿了就會寫入失敗而退出
只要沒有參與區塊驗證就會算下線,但 slashing condition 對下線很寬鬆,只要過去 10000 區塊裏有 5% 以上有參與驗證,就不會觸發 slashing condition
以 5 秒一個區塊計算,下線需要 9500*5 = 47500 秒 = 13.19 小時才會觸發