[教學]在雲端VPS或Google Cloud(GCP)上跑Profit Trailer(PT bot)賺比特幣

在雲端跑Profit Trailer有以下的優點

  1. 不需要有一台電腦一直開機
  2. 不會因為自己家裡的網路不夠穩定而造成程式斷線
  3. 可以隨時用手機查看PT目前的狀況

因此,我買完PT的第一天,就開始研究要如何把PT安裝在雲端主機,官方有提供一份把PT安裝在VPS的說明,基本上我也是參考那份文件,我有試著安裝在AWS以及Azure上,都有一些問題,最後在GCP上面,跑了3天完全可以正常運作,我把整個安裝過程,包含Windwos以及Mac,寫成以下教學文,分享給大家!

註:這邊並沒有包含PT的設定,所以請先確認PT的相關設定都已經設定好,包含application.properties裡面的交易所別、API key等等


首先,會用到以下這些軟體,請事先下載

PuTTY (Mac不需要):用於連進GCP主機設定PT所需執行環境,需下載PuTTY連線程式,以及puttygen.exe SSH key產生程式
下載頁面

FileZilla:用於把原本在本機執行的PT目錄,上傳至GCP主機
下載頁面

大致可以分成以下幾個步驟

一、申請GCP帳號
到GCP去申請帳號,新用戶有300美元一年的免費額度,可以用原本的gmail去申請,如果已經之前已經有申請過了,也可以換一個新的帳號方可享有300美元的免費額度,這部分蠻容易的,相信對大部分的人都是沒有問題的,我就不多做說明了,如果還是不知道如何做,請自行參考其他網友寫的教學,如以下連結


二、開一台主機(Compute Engine)、設定SSH金鑰

先設定SSH金鑰

[For Windows]
用剛剛下載的puttygen.exe,先按「Generate」,然後滑鼠在進度bar下方空白處左右移動,完成後,在「Key comment」那邊,修改成「ptbot」,按「Save private key」的按鈕,把「SSH的私鑰」私放到電腦,等一下PuTTY連線程式,以及Filezilla都會用到,接下來複製Key fingerprint上方所顯示的內容,要從ssh-rsa開始一直到ptbot結束,這將是「SSH的公鑰」,也請把這段文字用記事本保存下來

[For Mac]
打開Terminal程式,輸入「ssh-keygen」,然後一直按Enter就可以了

接下來輸入「cat .ssh/id_rsa.pub」,會顯示「SSH的公鑰」,可以先反白複製起來,等一下建立GCP主機時會用到

接下來再把SSH的私鑰複製到使用者的根目錄,輸入「cp .ssh/id_rsa ~」,這個等一下Filezilla會用到


這時候可以開始在GCP建立主機,https://console.cloud.google.com

選擇左方的「Compute Engine」,之後選上方的「建立執行個體」

「名稱」的欄位請自行輸入,可以用「ptbot-20180108」
「區域」的欄位,請選擇「asia-east1-a, -b -c」三個其中一個,這也是GCP在台灣彰化的機房 [ update: 如果是要掛在幣安的,請不要選擇亞洲地區的機房,亞洲地區的IP比較容易被幣安BAN,建議可以選美國的機房,「us-west, us-central, us-east」隨便選一個都可以]
「機器類型」的欄位,請選擇「小型(1個共用vCPU)」
「開機磁碟」的欄位,請選擇「Ubuntu 16.04 LTS」

費用為約月16美金/月,另外再加上流量傳輸費,每個月的費用大約在20美金/月,送的300美金的額度,可以爽爽的免費用一年!

下方的「防火牆」請勾選「允許HTTP流量」
下方請點開「SSH金鑰」,在輸入完整金鑰的文字框,貼上「SSH的公鑰」,貼上之後,如果是Mac的使用者請把最後@前面原本是你電腦登入的id換成ptbot,如以下截圖

設定好之後就可以按最下方的「建立」

接下來要設定「固定IP」,回到GCP的首頁,選左方選單的「VPC網路」的「外部IP位址」,這時會看到剛剛建立的主機,在「類型」那邊把臨時改成「靜態」,隨意給他取一個名稱就完成了,記得把IP記下來

此時主機就算設定完成


三、將本機PT目錄上傳至GCP主機

用一開始下載的Filezilla,開啟之後,點左上角「Site Manager」,「New Site」建立一個新站台
「Host」輸入GCP主機的固定IP
「Protocol」選「SFTP」
「Logon Type」選「Key file」
「User」輸入ptbot
「Key file」要選擇剛剛產生出來的「SSH私鑰」檔案,Windows的在puttygen.exe產生私鑰後存放的位置,而Mac的話已經有複製到使用者的根目錄

按「Connect」就可以連線到GCP主機了,此時就可以把PT的目錄傳上去,記得要上傳之前先把程式關閉,另外在上傳之前,請把port從預設的8081改成80,因為目前GCP主機只開啟80 port的連線而已,請編輯application.properties檔案,找到server.port = 8081這行,把8081改成80


四、SSH登入GCP主機設定運行環境

用SSH連線至GCP主機

[For Windows]
開啟PuTTY,在Host Name那邊輸入「ptbot@[你的GCP主機固定IP]」

把左側的SSH點開,在Auth的Private key file選取剛剛用puttygen.exe產生的SSH私鑰檔,回到上面步驟,在「Saved Sessions」那邊,可以取一個名字,如gcp,按Save,方便使用,此時按Open應該就可以正常連線到GCP主機

[For Mac]
打開Terminal程式,輸入以下指令
$ ssh ptbot@[你的GCP主機固定IP]
(請注意@後面直接接IP的數字,不用打中括號)


進到GCP主機之後,要先安裝java程式以及一些相關程式,輸入以下指令(請不要輸入$,一行一行輸入,最好是用複製貼上的,比較不會出錯)

$ sudo su
$ wget https://github.com/darrenchwu/PT-ubuntu/raw/master/runpt.sh && bash runpt.sh

(注意:上面那一長串指令是在同一行,要注意空白,這行指令很多人打錯;runpt.sh是參考lemonsX大大寫的腳本,並加以修改)

可能要跑個幾分鐘,完成之後,輸入以下指令

$ cd ProfitTrailer
$ pm2 start pm2-ProfitTrailer.json

此時PT就應該可以正常執行了,試試看在瀏覽器輸入GCP主機的固定IP,是否可以正常連線

如果要看到之前在本機跑的時候小黑視窗的訊息的話,可以輸入

$ pm2 log 0

按ctrl+c中斷

如果要停止PT程式,可以輸入

$ pm2 stop 0

重新啟動的話是輸入

$ pm2 reload 0

當一切都運行正常的話,最後一步就是設定讓PT可以在GCP主機開機時自動執行

$ pm2 save
$ pm2 startup

註:以上這些pm2指令都要在變成root之後輸入,也就是每次重新連線進來,都要先打sudo su的指令後,再輸入上面那些pm2指令

That’s it. 大功告成囉!


最後,祝大家用PT賺到滿滿的比特幣!

我的telegram https://t.me/darrenchwu

後記:
寫這篇花了不少時間,是站在讓完全的初學者也可以成功把PT放到雲端的角度,小弟完全沒有從Google那邊拿到任何好處,如果覺得好用的話也可以隨意抖內唷!我會很感謝你的 ^_^ 
BTC: 3LyE5BetppwCyrHmBZnSgxG7257MmVUreH
ETH: 0xcE9F8291A6c4E4d48D0e829B2e4E3904501F0605
GAS(NeoGas 0手續費唷): AJoAv55wcZFmqArSabosJegEkwPVhU8r2d