摘要:比原項目倉庫地址地址礦機(jī)配置固件升級兩個都要刷先后順序沒關(guān)系升級時間較長,升級期間請勿斷電配置節(jié)點測試時可以考慮切換到分支降低難度使挖礦也能出塊,或初始化啟動時可以加上指定數(shù)據(jù)目錄,若目錄不存在則會自動新建該目錄流程初始化節(jié)點先建
比原項目倉庫:
Github地址:https://github.com/Bytom/bytom
Gitee地址:https://gitee.com/BytomBlockchain/bytom
礦機(jī)配置https://gist.github.com/HAOYUatHZ/a47400bde4a138825faef415387b532c
固件升級https://service.bitmain.com.cn/support
兩個都要刷,先后順序沒關(guān)系
update_1000.tar.gz 升級時間較長,升級期間請勿斷電
配置節(jié)點測試時可以考慮切換到 testnet 分支降低難度使cpu挖礦也能出塊,./bytomd init --chain_id testnet 或 ./bytomd init --chain_id solonet
init/node 初始化/啟動時可以加上 -r "your/directory" 指定數(shù)據(jù)目錄,若目錄不存在則會自動新建該目錄
流程1、初始化節(jié)點先建個賬戶、地址,不然就挖到空地址
2、礦地址支持自定義,包括 非本地錢包地址
3、API doc
4、礦池向節(jié)點 getwork
get-work 得到的 block_header 是動態(tài)壓縮變長的需要進(jìn)行解析
使用 golang 的話可以利用 "github.com/bytom/protocol/bc/types" 中 block_header.go 中的函數(shù) UnmarshalText
使用別的語言的話參考 "github.com/bytom/protocol/bc/types" 中 block.go 中的函數(shù) UnmarshalText, readFrom, ReadVarintXXX. ReadVarintXXX 需要參考 go函數(shù) binary.ReadUvarint
5、解析完后進(jìn)行下發(fā)
通信格式參考 https://github.com/Bytom/B3-Mimic/blob/master/docs/STRATUM-BTM.md - 收到任務(wù)有 login 和 礦池主動下發(fā), 沒走 getjob, 只走 login 和 池主動下發(fā) - 這倆都是用 submit 提交
邏輯參考 https://github.com/Bytom/B3-Mimic/blob/master/main.go - Version, Height, Timestamp, Bits 要轉(zhuǎn)小端 - 關(guān)于 target + btc.com 分享了一段 antpool 的代碼 ~, 并說 target 用以對 bits 對應(yīng)的 difficulty 放松難度,用來使礦機(jī)在單位時間內(nèi)能夠有提交,然后礦池再驗證~
var Diff1 = StringToBig("0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF") func GetTargetHex(diff int64) string { padded := make([]byte, 32) diffBuff := new(big.Int).Div(Diff1, big.NewInt(diff)).Bytes() copy(padded[32-len(diffBuff):], diffBuff) buff := padded[0:4] targetHex := hex.EncodeToString(Reverse(buff)) return targetHex }
礦池下發(fā)的targethex是拿 標(biāo)準(zhǔn)難度(0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF) / 一個難度值得出的
這個值叫做礦池難度 一般會動態(tài)調(diào)整 保證礦機(jī)提交 share 的頻率是穩(wěn)定的 比如1分鐘提交三次 提交得快了就會增加這個值 慢了就會降低這個值
target 是 16 進(jìn)制的難度,1, 1024, …..等等,和前導(dǎo) 0 的個數(shù)有關(guān),動態(tài)調(diào)整用來保證礦機(jī)每分鐘至少提交三次,用來計算礦機(jī)算力以及防止礦機(jī)算力作弊 ffff3f00 對應(yīng) 1024,c5a70000 對應(yīng) 100001
6、提交完之后礦池需要做驗證
header_hash 使用 golang 的話可以利用 "github.com/bytom/protocol/bc/types" 中 types.BlockHeader{} 的 Hash() 使用別的語言的話參考 https://github.com/Bytom/B3-Mimic/blob/master/docs/blhr_hash_V3.go
然后就要開始用 tensority 算 hash 結(jié)果 很遺憾現(xiàn)在 go 版本、cpp_openblas 版本、cpp_simd 版本都達(dá)不到理想的驗證效果, 如果想做一個可用的礦池目前有必要上 gpu, 可以考慮 n 卡 1050,或者阿里云服務(wù)器 P4
cpp 的 tensority 邏輯在這里,并指出了如何針對 gpu 進(jìn)行優(yōu)化的建議,這樣矩陣乘法能夠跑進(jìn) 2.5 ms, 整個 tensority 大概 6 ms
init matlist 有開銷,seed 其實 256 個區(qū)塊才改變一次, 遇到新的 seed 每次 gpu tensority 可能需要 100 ms,但做了 cache 的話 init matlist 可以忽略,可以認(rèn)為每次 tensority 只需要不超過 6 ms
用 golang 可以 cgo 調(diào)用 c 代碼,參考 https://github.com/Bytom/bytom/blob/dev-ts-simd/mining/tensority/algorithm.go
改好 gpu 版本后可以參照這個進(jìn)行調(diào)用
7、驗證通過后使用 submit-work 接口進(jìn)行提交
提交的結(jié)果 也是 BlockHeader type 的
使用 golang 的話可以利用 "github.com/bytom/protocol/bc/types" 中 block_header.go 中的函數(shù) MmarshalText
使用別的語言的話參考 "github.com/bytom/protocol/bc/types" 中 block.go 中的函數(shù) MarshalText, WriteTo, WriteVarintXXX. WriteVarintXXX 需要參考 go函數(shù) binary.PutUvarint
8、retarget
見上面,動態(tài)調(diào)整使礦機(jī)每分鐘提交三次
9、收益計算
略
批量轉(zhuǎn)賬主網(wǎng)地址 bm 開頭,長度普通地址42,多簽62 工具 https://github.com/Bytom/bytom/tree/master/tools/sendbulktx
每次發(fā)幣都會生成新的找零地址
bytom input有21個的限制
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/24288.html
摘要:錢包后端服務(wù)節(jié)點前端前端錢包前端其他合并工具工具文檔類讀比原剝開比原看源碼系列比原管理挖礦相關(guān)文檔各類文檔瀏覽器礦池魚池雙礦池礦池礦池螞蟻礦池蜘蛛礦池蜜蜂礦池礦池礦池第三方主網(wǎng)錢包比特派幣派 錢包 后端服務(wù)節(jié)點:https://github.com/Bytom-Comm... Android前端:https://github.com/Bytom-Comm... iOS前端:https:...
摘要:首先讀取請求內(nèi)容,解析請求,接著匹配相應(yīng)的路由項,隨后調(diào)用路由項的回調(diào)函數(shù)來處理。每一個路由項由請求方法和回調(diào)函數(shù)組成將監(jiān)聽地址作為參數(shù),最終執(zhí)行開始服務(wù)于外部請求創(chuàng)建對象首先,實例化對象。我們可以看到一條項由和對應(yīng)的回調(diào)函數(shù)組成。 作者:Derek 簡介 Github地址:https://github.com/Bytom/bytom Gitee地址:https://gitee.com...
摘要:在比原鏈主網(wǎng)中,在獲取交易和區(qū)塊頭等摘要的過程中使用的哈希算法是算法,而在國密測試網(wǎng)中,使用算法替代。啟動的是國密測試網(wǎng)??梢哉f,比原鏈的項目進(jìn)展伴隨著國密測試網(wǎng)的發(fā)布更上一層樓。 比原項目倉庫: Github地址:https://github.com/Bytom/bytom Gitee地址:https://gitee.com/BytomBlockc... 國密算法是指國家密碼管理局制...
摘要:系統(tǒng)要求我們建議選擇主要的幾家云主機(jī)平臺的服務(wù),運行比原鏈節(jié)點對算力沒有要求,但是請配置盡可能大的磁盤空間以適應(yīng)區(qū)塊鏈數(shù)據(jù)未來增長的需要。 系統(tǒng)要求 我們建議選擇主要的幾家云主機(jī)平臺的VPS服務(wù),運行比原鏈節(jié)點對算力沒有要求,但是請配置盡可能大的磁盤空間以適應(yīng)區(qū)塊鏈數(shù)據(jù)未來增長的需要。 節(jié)點服務(wù)器最小配置: 操作系統(tǒng): Windows/Linux/Docker CPU: 2核 內(nèi)存: ...
摘要:結(jié)語當(dāng)前猜謎合約提供了體驗版本,有興趣的朋友可以做一個口令紅包,簡化一下用戶操作和體驗。 準(zhǔn)備工作: 1、安裝全節(jié)點錢包V1.0.5以上并同步完成; 2、已經(jīng)發(fā)行一種資產(chǎn),發(fā)行資產(chǎn)的方法具體見文章《如何在Bytom上發(fā)布資產(chǎn)?》 3、準(zhǔn)備好一些BTM作為手續(xù)費; 設(shè)置謎語(鎖定資產(chǎn)): 1、打開錢包,點擊Equity合約按鈕; showImg(https://segmentfault....
閱讀 1898·2021-11-17 09:33
閱讀 6497·2021-10-12 10:20
閱讀 2313·2021-09-22 15:50
閱讀 1802·2021-09-22 15:10
閱讀 636·2021-09-10 10:51
閱讀 640·2021-09-10 10:50
閱讀 3070·2021-08-11 11:19
閱讀 1792·2019-08-30 15:55