完全由我自己在我的網站上處理比特幣,沒有第三方比特幣 SaaS 服務
我希望只能通過 mysefl 在我的網站上接受和處理比特幣。沒有第三方比特幣服務。我怎樣才能做到這一點?一種方法是使用 Electrum。但是它關於商人的文件真的很糟糕。有沒有人有這方面的經驗?不過,它不一定是 Electrum,任何比特幣軟體都可以。我是一名程序員,我可以自己實現一個必要的部分,如果我必須這樣做的話。
首先,Electrum 依賴於 Electrum 伺服器,它本質上是用於 SPV 證明的第三方 SaaS。對於大多數人來說,這是一件好事,只要您不擔心伺服器可能會損害您的隱私,就應該沒問題。但話雖如此,您可以對任何 SaaS 服務這麼說,因此 Electrum 可能不是您正在尋找的解決方案。
如果您想自己做所有事情,則至少必須執行一個完整的節點。你可以使用像 pycoin ( https://github.com/richardkiss/pycoin ) 這樣的庫來創建錢包,但這比使用像 Armoury 這樣的全節點錢包要多得多。
實際上有為自己處理比特幣支付而編寫的網上商店程式碼(<https://github.com/goatpig/BitcoinArmory/tree/master/webshop>)。這裡的主要好處是只有公鑰在伺服器上,所以即使你被黑客入侵,你的比特幣也不能在沒有你說的情況下移動。完全披露:我編寫了該程式碼。
另一種選擇可能是使用 bitcoind,但這需要您將私鑰保存在伺服器上(不是一個好主意)。
你可以通過使用 bitcoind 伺服器建構一個接受比特幣的定制解決方案——說實話並不難,儘管我從未找到完整的萬無一失的指南。
幾件事情要記住——有些事情可能很明顯,但放在一起時你需要特別注意它們:
- 永遠不要以至少 1 次確認的方式記入帳戶 - 以您想要的方式定制它,但 4 次確認是好的
- 交易可能包含向您網站上的 2 個不同使用者付款 - 使用不同的地址
- 使用walletnotify獲取交易通知 - 它會在第一次在網路上看到交易時發生,並在收到 1 個確認時再次發生
- 使用blocknotify獲取塊通知 - 當您收到此通知時,您可以檢查系統中所有未確認的交易並增加確認號 - 然後如果超過您的門檻值,則認為付款完成。
- 作為預防措施並補充上述兩點,我設置了一個每 30 分鐘執行一次的 cron 作業,以檢查自上一個塊以來我沒有錯過任何內容。我已經收到通知,但最好是安全而不是抱歉
基礎設施相當簡單,然後這一切都取決於您的環境和首選的編碼語言。有很多網站可以為您提供有關如何連接到正在執行的 bitcoind 節點並從中提取數據的指導。
祝你好運——我曾多次走上這條路,並在前進的過程中學到了東西。