架設一個「Functionable」的礦池其實很簡單,到 GitHub 把別人寫好的 Node.js Mining Pool 直接搬回家裝一裝馬上就能上線了,但實際上運行起來還是有很多 「 眉眉角角 」 的存在,不過這些細節未必是別人不會跟你講,有時候反而是「別人覺得你應該知道」。如果對於有相關經驗的人來說這些可能都只是常識,對我來講並不是,所以我也會假設其他人都跟我一樣因而寫了這篇「 圖解礦池架設 」,就是想讓同樣有興趣架設礦池的新手能用比較熟悉的圖形介面去操作。 目前各個加密貨幣佔全網算力 10% 以上的礦池不在少數,我完全能理解大家喜歡在幾分鐘就出塊的礦池挖礦 (實際上我也是), 但這種超大型礦池的存在一方面也就違反的去中心化的初衷 ,完全的去中心化是不可能也不合理的,不過能有更多的礦池來維護整體網路的節點也絕非壞事,所以才會想從粗淺的技術面向去討論礦池架設,讓有興趣的人能了解更多細節,也從完全 Newbie 的角度去談談「那些別人不會跟你講的事」。 而這篇會以「 CryptoNight 」算法的礦池為例,代表的加密貨幣包括「門羅幣」Monero (XMR)、 Electroneum (ETN) 、Bytecoin (BCN) ...等。這個算法的特性在於可以使用 CPU 挖礦、硬體門檻低、抗 ASIC 設計,可以說是對實現去中心化的作法比較具體而且嚴格。 Chapter 1 礦池選擇 這邊講的並不是選擇要挖哪個幣, CryptoNight 算法的貨幣都可以通用同一個礦池架構。 實際上困難的部分都有箇中翹楚先幫你做好了,光在 GitHub 上就能看到好幾十個版本的 CryptoNight 礦池,就我所瞭解所有的分支都是從 @zone117x 的 node-cryptonote-pool 分叉而來的,這個最原始的版本即使在現在還是非常輕便好用,並不佔據太多的伺服器資源。同類型我看到功能最完善的大概是 @SadBatman 的版本, 但很可惜它的有些功能是只設計給 Sumokoin 使用的,很多新部件都直接在 Javascript 內寫死 ,並不會自動抓取 Config 檔,為了把它套用在 ETN 上也是花了我不少腦細胞。 還有另一個赫赫有名的分支就是 @Snipa22 的版本,大家最熟...
