1. 导入数据生成DAG
# lotus client import f1.txt
Import 1660877215125943727, Root bafkqabtimvwgy3yk
payload CID
有效负载数据CID bafkqabtimvwgy3yk
1.1 查看导入数据历史记录
# lotus client local
1660877215125943727: bafkqabtimvwgy3yk @/root/f1.txt (import)
2. 交互式交易流程
# lotus client deal
Data CID (from lotus client import): bafkqabtimvwgy3yk
.. calculating data size
Deal duration (days): 70
Miner Addresses (f0.. f0..), none to find: t01003
.. querying miner asks
-----
Proposing from t3q643kqvcwytttalpp7gissoqdguy5w3s2ouhpafd6r4m7aulu34twtyo6sjosi5igi6dc3inqgz7qdg434iq
Balance: 4500829.999997486590436988 FIL
Piece size: 128B (Payload size: 49B)
Duration: 1680h0m0s
Total price: ~0.000000000089208 FIL (0.000000000000000059 FIL per epoch)
Verified: false
Accept (yes/no): yes
.. executing
Deal (t01003) CID: bafyreibj5th5grj3uc5mp2lgbrdskroldhfi74yfec5yspqq45s4dtdfn4
3. 检查交易状态
# lotus client list-deals --show-failed
DealCid DealId Provider State On Chain? Slashed? PieceCID Size Price Duration Verified
...s4dtdfn4 0 t01003 StorageDealError N N ...pyzedona 127 B 0.000000000089297326 FIL 1513514 false
Message: unexpected deal status while waiting for data request: 11 (StorageDealFailing). Provider message: deal rejected: invalid deal end epoch 1705897: cannot be more than 1555200 past current epoch 19590
...hp2ngrle 0 t01003 StorageDealError N N ...pyzedona 127 B 0.000000000038290174 FIL 648986 false
Message: unexpected deal status while waiting for data request: 11 (StorageDealFailing). Provider message: deal rejected: piece size less than minimum required size: 128 < 256
...ygqr4mvm 0 t01003 StorageDealClientFunding N N ...lylzz4ii 508 B 0.000000000155119832 FIL 651764 false
4. 数据传输
4.1 交互发送交易
# lotus client import f1.txt
Import 1660877215125943730, Root bafk2bzacebyimduo6cnnerejxe6k2rff6kdcto437ma7nk4ynvgfrvwfzft7a
# lotus client deal
Data CID (from lotus client import): bafk2bzacebyimduo6cnnerejxe6k2rff6kdcto437ma7nk4ynvgfrvwfzft7a
.. calculating data size
Deal duration (days): 30
Miner Addresses (f0.. f0..), none to find: t01003
.. querying miner asks
-----
Proposing from t3q643kqvcwytttalpp7gissoqdguy5w3s2ouhpafd6r4m7aulu34twtyo6sjosi5igi6dc3inqgz7qdg434iq
Balance: 4500829.999997057980985512 FIL
Piece size: 512B (Payload size: 462B)
Duration: 720h0m0s
Total price: ~0.000000000154224 FIL (0.000000000000000238 FIL per epoch)
Verified: false
Accept (yes/no): yes
.. executing
Deal (t01003) CID: bafyreiaw3nirmpu3sfkctdwsxxfqpkggacjujdob3dbj6ehmvmygqr4mvm
4.2 命令发送交易
lotus client deal bafk2bzacebyimduo6cnnerejxe6k2rff6kdcto437ma7nk4ynvgfrvwfzft7a t01003 0.000000000000000238 518400
4.3 查看交易数据传输
lotus client list-transfers
- 交易数据会传输到miner,交易扇区数据封装好了之后会自动清空
$LOTUS_MINER_PATH/deal-staging
5. 离线数据交易
5.1 生成car文件
lotus client generate-car f1.txt f1.car
# lotus client commP f1.car
CID: baga6ea4seaqptzgfgsyo25o2v33wd2bnvfmdfmkcvfvbgxtgeyi4vi3lylzz4ii
Piece size: 508 B
# lotus-miner storage-deals import-data baga6ea4seaqptzgfgsyo25o2v33wd2bnvfmdfmkcvfvbgxtgeyi4vi3lylzz4ii /root/f1.car
ERROR: failed getting deal baga6ea4seaqptzgfgsyo25o2v33wd2bnvfmdfmkcvfvbgxtgeyi4vi3lylzz4ii: No state for /baga6ea4seaqptzgfgsyo25o2v33wd2bnvfmdfmkcvfvbgxtgeyi4vi3lylzz4ii: datastore: key not found
# lotus client commP f1.car
CID: baga6ea4seaqptzgfgsyo25o2v33wd2bnvfmdfmkcvfvbgxtgeyi4vi3lylzz4ii
Piece size: 508 B
# lotus client import --car /root/f1.car
Import 1660877215125943732, Root bafk2bzacebyimduo6cnnerejxe6k2rff6kdcto437ma7nk4ynvgfrvwfzft7a
# lotus client deal bafk2bzacebyimduo6cnnerejxe6k2rff6kdcto437ma7nk4ynvgfrvwfzft7a t01003 0.000000000000000238 518400
bafyreiatfsnpfy45uqklut5zu4a3tkbcdmtnattmtpcdnsqfu7jcrpvenu
# lotus-miner info
Sectors:
WaitDeals: 1
# lotus-miner storage-deals import-data bafyreiatfsnpfy45uqklut5zu4a3tkbcdmtnattmtpcdnsqfu7jcrpvenu /root/f1.car
6. 交易管理
# lotus-miner storage-deals get-ask
Price per GiB/Epoch Verified Min. Piece Size (padded) Max. Piece Size (padded) Expiry (Epoch) Expiry (Appx. Rem. Time) Seq. No.
0.0000000005 FIL 0.00000000005 FIL 256 B 2 KiB 1001111 1086h43m12s 0
# lotus client query-ask t01003
Ask: t01003
Price per GiB: 0.0000000005 FIL
Verified Price per GiB: 0.00000000005 FIL
Max Piece size: 2 KiB
Min Piece size: 256 B
# lotus-miner storage-deals list -v
# lotus-miner info
Publish: 1 512 B (Verified: 0 0 B)
6.1 待发布交易,手动发布交易
# lotus-miner storage-deals pending-publish
Publish period: 1h0m0s (ends in 34m26s)
First deal queued at: 2022-08-19 14:32:51.319608057 +0800 CST
Deals will be published at: 2022-08-19 15:32:51.319608057 +0800 CST
1 deals queued to be published:
ProposalCID Client Size
bafyreiatfsnpfy45uqklut5zu4a3tkbcdmtnattmtpcdnsqfu7jcrpvenu t3q643kqvcwytttalpp7gissoqdguy5w3s2ouhpafd6r4m7aulu34twtyo6sjosi5igi6dc3inqgz7qdg434iq 512B
# lotus-miner storage-deals pending-publish --publish-now
triggered deal publishing
lotus-miner storage-deals set-ask \
--price 0.0000000 \
--verified-price 0.0000000 \
--min-piece-size 256KiB \
--max-piece-size 32GB
7. 离线交易
--manual-stateless-deal
需要设置存储报价为0
# lotus client deal --manual-stateless-deal=true --manual-piece-cid=baga6ea4seaqptzgfgsyo25o2v33wd2bnvfmdfmkcvfvbgxtgeyi4vi3lylzz4ii --manual-piece-size=508 baga6ea4seaqptzgfgsyo25o2v33wd2bnvfmdfmkcvfvbgxtgeyi4vi3lylzz4ii t01003 0.000000000000000238 518400
ERROR: when manual-stateless-deal is enabled, you must also provide a 'price' of 0 and specify 'manual-piece-cid' and 'manual-piece-size'
7.1 查看存储报价
# lotus-miner storage-deals get-ask
Price per GiB/Epoch Verified Min. Piece Size (padded) Max. Piece Size (padded) Expiry (Epoch) Expiry (Appx. Rem. Time) Seq. No.
0.0000000005 FIL 0.00000000005 FIL 256 B 2 KiB 1001111 1084h40m0s 0
# lotus client query-ask t01003
Ask: t01003
Price per GiB: 0.0000000005 FIL
Verified Price per GiB: 0.00000000005 FIL
Max Piece size: 2 KiB
Min Piece size: 256 B
7.2 设置存储报价为0
lotus-miner storage-deals set-ask --price 0.0000000 --verified-price 0.0000000 --max-piece-size 2KiB --min-piece-size 256B
# lotus client query-ask t01003
Ask: t01003
Price per GiB: 0 FIL
Verified Price per GiB: 0 FIL
Max Piece size: 2 KiB
Min Piece size: 256 B
7.3 发送离线订单
# lotus client generate-car f1.txt f1.car
# lotus client commP /root/f1.car
CID: baga6ea4seaqptzgfgsyo25o2v33wd2bnvfmdfmkcvfvbgxtgeyi4vi3lylzz4ii
Piece size: 508 B
# lotus client deal --manual-stateless-deal --manual-piece-cid=baga6ea4seaqptzgfgsyo25o2v33wd2bnvfmdfmkcvfvbgxtgeyi4vi3lylzz4ii --manual-piece-size 508 baga6ea4seaqptzgfgsyo25o2v33wd2bnvfmdfmkcvfvbgxtgeyi4vi3lylzz4ii t01003 0 518400
bafyreifwlkxr6mteheh2jejr3zdzqrvy3alkewrphrfszozs23dt4yyd3m
7.4 Piece size
大小
# cat piece_size.sh
#!/bin/bash
#usage method:(bash ./piece_size.sh 3.969 GiB)
Size=$1
Type=$2
mm=`echo $Size|awk -F"." '{print $1}'`
for (( i=1;i<=10;i++ )) ; do let "n=2**$i" ; if [ $mm -le $n ] ; then PieceSize_=$n ; break ; fi ; done
if [[ $Type == "GiB" ]];then let "PieceSize=$PieceSize_*254*1024*1024*1024/256" ; elif [[ $Type == "MiB" ]];then let "PieceSize=$PieceSize_*254*1024*1024/256" ; elif [[ $Type == "KiB" ]];then let "PieceSize=$PieceSize_*254*1024/256" ; elif [[ $Type == "B" ]];then let "PieceSize=$PieceSize_*254/256" ; else echo "Type is err" ; fi
echo manual-piece-size=$PieceSize
# bash piece_size.sh 462 B
manual-piece-size=508
7.5 查看交易状态
StorageDealWaitingForData
等待数据
# lotus-miner storage-deals list
...dt4yyd3m 0 StorageDealWaitingForData t3q643kqvcwytttalpp7gissoqdguy5w3s2ouhpafd6r4m7aulu34twtyo6sjosi5igi6dc3inqgz7qdg434iq 512B 0 FIL 520270
7.6 mienr手动导入离线数据
lotus-miner storage-deals import-data bafyreifwlkxr6mteheh2jejr3zdzqrvy3alkewrphrfszozs23dt4yyd3m /root/f1.car
8. 矿工地址发布到网络中
[Libp2p]
ListenAddresses = ["/ip4/192.168.2.30/tcp/3333"]
AnnounceAddresses = ["/ip4/192.168.2.30/tcp/3333"]
# lotus-miner actor set-addrs /ip4/192.168.2.30/tcp/3333
Requested multiaddrs change in message bafy2bzaced3oasehq2khyumv3sjqcg774uv2hgflelnesx6uizfzt5eqawrqu
# lotus-miner net reachability
# lotus-miner net listen
/ip4/192.168.2.30/tcp/3333/p2p/12D3KooWD5qUSj8GrN3bwgMnSZw8UFXf5V5aHMYn5Wfa6pPJTZEb
9. 其它节点查询报价
root@ubuntu-05:~# lotus client query-ask t01003
Ask: t01003
Price per GiB: 0 FIL
Verified Price per GiB: 0 FIL
Max Piece size: 2 KiB
Min Piece size: 256 B
9.1 发布交易
# lotus client import f2.txt
Import 1660892473222112702, Root bafk2bzaceamepf7hlecxfwlcskwi2hzld2hmzsepbg6yfi5uduu5gby2qqj3q
# lotus client deal
Data CID (from lotus client import): bafk2bzaceamepf7hlecxfwlcskwi2hzld2hmzsepbg6yfi5uduu5gby2qqj3q
.. calculating data size
Deal duration (days): 30
Miner Addresses (f0.. f0..), none to find: t01003
.. querying miner asks
-----
Proposing from t3q5w7yszzglbjdgvrjpuirmxcwwupfdybm2zycod2moaqinf6cgssdri3te5mvkcody7cnqotf5zqcjvsklra
Balance: 453911 FIL
Piece size: 512B (Payload size: 472B)
Duration: 720h0m0s
Total price: ~0 FIL (0 FIL per epoch)
Verified: false
Accept (yes/no): yes
.. executing
Deal (t01003) CID: bafyreigsrjqg7atnnk75jtf3u5nfhykqlebb4tp73jb25rnfk3uhrcygxu
# lotus client deal bafk2bzaceamepf7hlecxfwlcskwi2hzld2hmzsepbg6yfi5uduu5gby2qqj3q t01003 0 518400
9.2 car文件
# lotus client generate-car f2.txt f2.car
# lotus client import --car f2.car
Import 1660892473222112704, Root bafk2bzaceamepf7hlecxfwlcskwi2hzld2hmzsepbg6yfi5uduu5gby2qqj3q
# lotus client deal
Data CID (from lotus client import): bafk2bzaceamepf7hlecxfwlcskwi2hzld2hmzsepbg6yfi5uduu5gby2qqj3q
.. calculating data size
Deal duration (days): 30
Miner Addresses (f0.. f0..), none to find: t01003
.. querying miner asks
-----
Proposing from t3q5w7yszzglbjdgvrjpuirmxcwwupfdybm2zycod2moaqinf6cgssdri3te5mvkcody7cnqotf5zqcjvsklra
Balance: 453911 FIL
Piece size: 512B (Payload size: 472B)
Duration: 720h0m0s
Total price: ~0 FIL (0 FIL per epoch)
Verified: false
Accept (yes/no): yes
.. executing
Deal (t01003) CID: bafyreibrfxh5vtvmplh6mjgakewlv7qhuwz63ms2o6vbrqg73rqpwfj34e
# lotus client deal bafk2bzaceamepf7hlecxfwlcskwi2hzld2hmzsepbg6yfi5uduu5gby2qqj3q t01003 0 518400
9.3 离线交易
# lotus client generate-car /data/f3.txt /data/f3.car
# lotus client commP /data/f3.car
CID: baga6ea4seaqdi7dqjyxexcptitihnc3iv22w6gwgr3n2ug4hp4akwqgi6ezagpi
Piece size: 508 B
# lotus client deal --manual-stateless-deal --manual-piece-cid=baga6ea4seaqdi7dqjyxexcptitihnc3iv22w6gwgr3n2ug4hp4akwqgi6ezagpi --manual-piece-size 508 baga6ea4seaqdi7dqjyxexcptitihnc3iv22w6gwgr3n2ug4hp4akwqgi6ezagpi t01003 0 518400
bafyreibu57rafkmc46huskhmqx2lejif6uqjn5einwjyd5wmuqv5pslhkq
- 矿工,
StorageDealWaitingForData
等待数据导入
# lotus-miner storage-deals list
...v5pslhkq 0 StorageDealWaitingForData t3q5w7yszzglbjdgvrjpuirmxcwwupfdybm2zycod2moaqinf6cgssdri3te5mvkcody7cnqotf5zqcjvsklra 512B 0 FIL 521925
192.168.2.196:/data nfs4 98G 0 93G 0% /ubuntu-05-data
# lotus-miner storage-deals import-data bafyreibu57rafkmc46huskhmqx2lejif6uqjn5einwjyd5wmuqv5pslhkq /ubuntu-05-data/f3.car
参考
- Store data
- Manage storage deals