取得docker container的啟動資訊

有時候常常要查詢一下當初docker container啟動的參數, 若使用docker-compose當然沒問題,可以直接查看yaml檔案,
若不是使用compose , 就比較麻煩了, 尤其是我常常使用指令的方式, 又常常沒有記錄下來指令, 就會出問題.

好險這些問題有解法

https://github.com/lavie/runlike

只要執行以下指令, 後面接 container name 就可以知道當初執行的相關設定了

docker run --rm -v /var/run/docker.sock:/var/run/docker.sock assaflavie/runlike <container Name>

[心得]自製虛擬幣$TMC

先說明一下,4月才發現加密貨幣很夯, 但不管是挖礦,或是買幣都只能投入一些些;
於是我玩起自製幣(非ERC20), 只是好玩, 無法跟所有網路連線, 也只能提供最低2個節點, 讓伺服器正常跑起來.

我自製幣的網址為: https://tmc.kafeiou.pw , 可以取得錢包,與註記碼
然後, 然後就沒有然後了,因為這系統是PoS,無法透過挖幣取得, 好無聊!
於是我想了想該如何發幣:

  1. 空投
    只要寫錢包,與公鑰 , 我看到就會轉TMC過去
    https://docs.google.com/forms/d/1X-NpykI6RlMwjW3gTkoWdobNmoAGiVr97m4BwIOd7rI
  2. 自己寫了類似遊戲的線上獎勵程式
    只要在線,每隔一段時間得到1塊, 到最低金額會統一發放
    客戶端程式(含源碼):
    https://github.com/WilliamFromTW/ToolManCoinAirDropClient/releases
    下載程式後, 修改錢包與公鑰,就能因在線時間越久而得到獎勵.
    這樣很像挖礦的感覺,靠自己努力取得錢幣

心得:
網路上搜尋如何自製屬於自己的錢幣, 無奈都太過複雜,
而且大部分都需要"挖礦"取得錢幣.
最後我終於找到NXT未來幣(PoS), 該組織也讓大家能夠自製虛擬幣
https://github.com/sandoche/Proof-of-Stake-Cryptocurrency-generator

我自己覺得虛擬幣的世界真的無限想像, 真棒.
TMC=Tool Man Coin 工具人錢幣

PS.
伺服器端程式(含源碼)
https://github.com/WilliamFromTW/ToolManCoinAirDropServer
加入TMC節點的方式,可以到這下載
https://github.com/WilliamFromTW/ToolManCoin

很簡單直覺,java限制雙開的程式寫法

private static final int PORT = 9999;
private static ServerSocket socket;    

private static void main() {
  try {
    //Bind to localhost adapter with a zero connection queue 
    socket = new ServerSocket(PORT,0,InetAddress.getByAddress(new byte[] {127,0,0,1}));
    // 正常流程
    //
  }
  catch (BindException e) {
    // 異常流程
    System.err.println("Already running.");
    System.exit(1);
    Runtime.getRuntime().halt(0);
  }
}

Linux 將命令模式下執行程式,所輸出的紀錄引導到檔案

以java為例,

System.out.println("log ...")

可以在console下看到結果, 但我們若需要未來分析使用, 就必須導到檔案.

執行時可以增加以下參數

java  -jar xxx.jar   > a.out  2>&1

以前常常搞不清楚, 現在也還是一樣不太懂, 沒差拉, 這樣就可以用了, 然後 tail -f a.out 就可以在螢幕看到即時訊息, 事後也能將a.out保存起來呢.

關於Java Single Instance只能執行一次的解法

我找了2資源, 想法都很不錯, serversocket 的做法最容易接受 , 但真的被反組譯修改,也是防不勝防,除非連程式都簽章加密處裡.

https://rosettacode.org/wiki/Determine_if_only_one_instance_is_running#Java

http://www.sauronsoftware.it/projects/junique/manual.php#5

launch4j把java程式轉成exe可執行檔案

一直以來,我都是讓使用者執行bat, 開啟命令提示視窗, 來啟動java程式,但 這樣很難讓麻瓜接受使用,

因此網路上找到好用的轉換程式, 可以直接把jar檔案轉換成exe檔案, 這樣就方便多了

使用方式可點這裡看教學 ,

比較值得注意的是,可以勾選single Instance , 限制只能執行一次, 不能多次執行, 這功能真是太棒了

免費空投虛擬幣外,一個很有趣的想法-自動空投

前篇文章 說到我自己發行虛擬幣 $TMC , 但是根本沒人用,
幣是參照未來幣$NXT源碼製作出來, 屬於 PoS共識機制 , 不能夠透過挖礦取得錢幣,
那怎麼吸引人注意呢? 一開始想到的作法就是空投, 免費送你錢幣, 活絡交易.

但是免費送幣這種作法又很怪, 應該跟挖礦一樣, 總得付出點甚麼賺到錢才有意義,
於是我又冒出一個很有趣的想法-自動空投, 這自動空投是用戶端必須付出"連線"的代價,才能取得錢幣.

除非像以太幣已經發行很大量, 生態網路非常活絡, 基本上不再需要礦工, 可以強硬從PoW(挖礦), 轉到PoS不需要挖礦的架構;
否則PoS錢幣,在大紅特紅之前, 應該要有仿礦工挖礦的作法-就是我這種需付出簡單代價取得錢幣的做法.

最後我開發這種自動空投的程式, 有別於甚麼都不做就得到錢幣, 必須進行連線,每30分鐘賺到1塊錢, 有興趣的人可 到此下載,
解開後閱讀一下readme , 將 tmc.kafeiou.pw 取得的錢包與地址, 替換到設定檔案,就可以執行了,
這樣每天能得到48塊TMC幣.

程式有兩段, 一是伺服器端 , 一是用戶端程式 , 原始碼已放到github上:

https://github.com/WilliamFromTW/ToolManCoinAirDropServer

https://github.com/WilliamFromTW/ToolManCoinAirDropClient

以太坊預定 7/14日,進行倫敦升級

以太坊 7/14 倫敦升級,將開始抑制以太幣的通貨膨脹, 甚至到2021年底上海升級,挖礦難度將大幅上升, 預計為將來的PoW轉型成PoS做準備, 也就是不再需要使用顯卡挖礦(mining),
所以呢, 7/14以後, 礦工可能會開始考慮改挖別種幣, 例如狗狗幣, 烏鴉幣, 以及$ERG爾格幣.

https://ethereum.org/en/developers/docs/consensus-mechanisms/pos/

自製的$TMC要空投了

上一篇文章說我建立自己的虛擬幣,

由於使用的是$NXT釋出的PoS技術,預設必須持有1000 $TMC才能鍛造(forging), 鍛造類似挖礦, 以後再說明,
我得空投一下, 才能讓朋友們參與, 看到這文章的人, 可以來體驗一下,

此活動只到2021年7月底, 7月底後應該就不玩了.

只要填寫匿名google form, 這表格我不會知道誰給我的,也不需要填入您個人資料, 我就會空投 1003 $TMC 給你哦

以下是申請錢包帳號的步驟, 網址為: https://tmc.kafeiou.pw

請記住兩個資訊一是錢包帳號, 另一個是該錢包的公開鑰匙public key , 助記碼(密碼)請妥善保存,不要給任何人知道,這是唯一能聲稱錢包擁有人的方式.

  1. 登入建立新的錢包帳號

2. 記下您的帳號與密碼(好好保存啊)

3. 登入後, 驗證帳號與密碼, 系統會產生公開金鑰(public key)

4. 將帳號與公開金鑰填寫匿名的google form , 我就會空投1003 $TMC給你

1 2 3 ... 46