当前位置:首页 > 奇闻趣事

t43p filecoin技术架构分析之三:filecoin开发网络使用

作者:仙鹤CTO韦恩

转载请注明出处

目录

1 filecoin技术架构分析之一:filecoin概念2 filecoin技术架构分析之二:filecoin通用语言理解3 filecoin开发网使用3.1 辅助资源3.2 使用3.2.1 接入filecoin开发网络3.2.2 获取Mock FIL用于测试3.2.3 矿工操作3.2.3.1 存储矿工3.2.3.2 检索矿工3.2.3.3 修复矿工3.2.4 客户操作3.2.4.1 存储客户3.2.4.2 检索客户3.2.5 filecoin合约3.2.5.1 文件合约3.2.5.2 智能合约3.2.6 单机运行多个filecoin节点3.2.6.1 修改资源目录和服务端口的方式3.2.6.2 容器部署方式

3文件硬币开发网络使用

3.1辅助资源

Filecoin状态: https://stats.kittyhawk.wtf网络存储实时价格 FIL/GB/Month当前存储容量 GB当前网络利用率检索平均价格激活节点以及分布图存储平均价格曲线best tipset存储矿工存储矿工数量变化曲线存储矿工共识结果近30天的矿工top图检索矿工平均检索价格平均检索时间平均检索容量FIL指数流通FIL及抵押FIL变化曲线图FIL地址总数FIL总抵押数及对应存储空间FIL总数上升曲线图FIL区块奖励下降曲线图Filecoin区块浏览器: http://user.kittyhawk.wtf:8000Chain信息BestBlock信息Actor合约信息获取FIL用于抵押或支付:http://user.kittyhawk.wtf:9797获取Mock FIL代币Dashboard: http://user.kittyhawk.wtf:8010Network概览,最新区块信息区块浏览器链接Genesis File: http://user.kittyhawk.wtf:8020/genesis.car创始文件,用于初始化filecoin资源Prometheus Endpoint: http://user.kittyhawk.wtf:9082/metrics一些技术指标,比如内存、进程、线程等Connected Nodes PeerID's: http://user.kittyhawk.wtf:9082/nodes连接的节点信息

3.2使用

3.2.1进入文件硬币开发网络

初始化filecoin资源目录如果之前有运行过filecoin,想重新开始,需要删除filecoin资源,同时重新初始化是需要重新花时间同步开发网区块信息的。

rm -rf ~/。filecoin

初始化资源目录,使用--devnet-user表示连接至开发网

way newyang:Downloads way newyang $ go-file coin init-devnet-user-genesis file = http://user . kitty hawk . wtf:8020/genesis . car

正在~/,初始化filecoin节点。filecoin

waynewyang:下载waynewyang$

启动filecoin进程,接入开发网

go-filecoin守护程序

//如果开发者需要夜间访问devnet,请设置环境变量并启动filecoin

env FIL _ USE _ SMAll _ SECTORS = true go-file coin守护程序

检查连接性go-filecoin swarm peers 查看已经连接的节点

way new yang:file coin way new yang $ go-file coin swarm peers

/ip4/115 . 238 . 154 . 84/TCP/19109/ipfs/qmb 6 zyi7 glfa je 3 uekgz 2 zymck 7 rvhkskb1 bhpzzptqkm

/ip4/115 . 238 . 154 . 84/TCP/41187/ipfs/qmz 9 uhdu 2 fwdn 7 em ww 8 aeaudkf9 ft 7 rwjrnbbdcqfuq9x 6

/ip4/123 . 134 . 67 . 81/TCP/6000/ipfs/qmccreqsawge4 bzqen1 jbt fyd 7 dnti 4 PSD vkikwafccw

/ip4/123 . 134 . 67 . 82/TCP/6000/ipfs/qmwua 1 aw 4 qdqztdrwo 2 bgt 2 au 67 bjbgtezwrufbc 8 isgn

/ip4/123 . 134 . 67 . 83/TCP/6000/ipfs/qmbpcabgcngs 3 bcgmk 8 DC 3 w 9 pjoypd 1 fydhbkgly 2 EJ 7

/ip4/123 . 134 . 67 . 85/TCP/6000/ipfs/qmuqsszrwfsuu 3 VFW 7 D1 uykalvev 1 ykkcv x3ntvsxwaa7kj

/ip4/123 . 134 . 67 . 86/TCP/6000/ipfs/qmprz 2 z 764 avahivm7ix 2 jqrw 5 ede 3 jcztrjwxs 4 vukyk

/ip4/123 . 134 . 67 . 87/TCP/6000/ipfs/qmtxvfq 3u 7 qpxsxfqdoy qprdh 6 mew 6 jbgksj 8 hjxaimufh

/ip4/123 . 134 . 67 . 88/TCP/6000/ipfs/qmxavrpyu 57 XXX wjhzn9u 9x 1 kttwpsjbas1mtdnzzaqvyq

/ip4/123 . 134 . 67 . 89/TCP/6000/ipfs/qmc5 umx9r 3 bpd5 vxvumfylodz 5 tvt 43 p5jsemte26 qtd

go-filecoin ping peerID 确认连通性

way new yang:file coin way new yang $ go-file coin ping qmw 4z 8 p7 fcsplv 1 fetr w6 ucnapuxqkm8 xyyyw4 yubnqbgeb

PING <。同伴。ID Qm * nqBGeB & gt

收到乒乓:时间=245.12毫秒

收到乒乓:时间=245.61毫秒

收到乒乓:时间=251.98毫秒

收到乒乓:时间=245.69毫秒

收到乒乓:时间=255.64毫秒

给你的filecoin Node设置昵称

way new yang:file coin way new yang $ go-file coin config heart beat . nickname " wwwarsyunsc "

" wwwarsyuncom "

way new yang:file coin way new yang $ go-file coin config heart beat .昵称

" wwwarsyuncom "

激活节点

go-file coin config heart beat . BeatTarget "/DNS 4/stats-infra . kittyhawk . wtf/TCP/8080/ipfs/qmuwmznp6xfryndenu 7 kcj 1 af 5 ohy 7 FB 9 nPu 67 sseejr "

在 https://stats.kittyhawk.wtf/查看filecoin网络,节点已经激活

active.png

3.2.2获得模拟飞行试验

Mock FIL用于矿工抵押;或者作为客户进行交易需要注意:开发网目前运行的都是全节点,获取mock FIL需要建立在本地区块数据同步完成的基础上进行,必须同步完区块之后才能生效,根据个人机器配置情况,这需要较长一段时间。go-filecoin message wait ${MESSAGE_CID} 本质上是转账交易,wiki上说明的是等待30s,但是这是在本地区块数据同步完成的基础上才行的。笔者已提交建议给官方,在wiki上更为清晰地表述。

wikiissue1.png

way newyang:file coin way newyang $ go-file coin钱包地址ls

fcq 09 qtmrxgq 5 SDR 95 GS 93 tx 79 u 9 uymdwwfdsaphpa

way newyang:file coin way newyang $ export WALLET _ ADDR = ` go-file coin WALLET addrs ls '

way newyang:file coin way newyang $ MEssage _ CID = ` curl-X POST-F " target = $ { WALLET _ ADDR } " " http://user . kittyhawk . wtf:9797/tap“| cut-d”"-F4 `

%总计%接收%平均速度时间时间当前

加载上传总剩余速度

100 232 100 50 100 182 48 177 0:00:01 0:00:01 - : - : - 177

way new yang:go-file coin way new yang $ go-file coin MESSAGE wait $ { MEssage _ CID }

{

" meteredMessage": {

"消息":{

" to ":" fcqm 0u 932 ja5 thlsy 4 dgpz 5 urlapk 8 qhtd 0 clqv 5e ",

" from ":" fcq 09 sqhrd 4 gls 86 muuenzvqdc 37 mscagapj小牛",

" nonce": "rQQ= ",

“值”:“1000”,

“方法”:“,

“参数”:空

},

“GasPrice”:“0”,

" gasLimit": "AA== "

},

"签名":" WKA+ery7xcqlsolzofu8 TPS 7 nz2 oakrfo 21 terfyjqxjt 2 qewz 8 sfvm 6 zshr 5 syb 7 rsarsjndp 4am 2 vzp 0 ge = "

}

{

“exit code”:0,

“return”:null,

" gasAttoFIL": "0 "

}

way new yang:file coin way new yang $ go-file coin钱包余额fcq 09 qtmrxgq 5 SDR 95 GS 93 tx 79 u 9 uymdwwfdsappa

1000

way new yang:file coin way new yang $ go-file coin WALLET balance $ { WALLET _ ADDR }

1000

3.2.3矿工作业

3.2.3.1存储矿工

创建存储矿工示例,需要等待1分钟左右抵押10个扇区的存储空间(当前默认每个扇区256MiB)支付100个FIL为担保gas价格为0限制gas消耗最大为1000个FIL

way new yang:file coin way new yang $ go-file coin miner create 10 100-price = 0-limit = 1000-peerid ` go-file coin id | jq-r '。ID ' ` 0

fcqjge 872 spqrgtm 8 dhlndjgfuxxx0yujvxsl//返回的地址是minerAddress

启动挖矿

way new yang:file coin way new yang $ go-file coin采矿开始

开始挖掘

收益之一: 启动挖矿之后就可以参与挖区块奖励查询区块头

way new yang:go-file coin way new yang $ go-file coin链头

[{ "/:" zdpwyqfd 2 bqlx7bwqndevomxj 6 sc5 hxzorzaoxpt 6 xjaythnenw " }]

查询具体区块信息

go-filecoin show block <。blockID>。

way new yang:go-file coin way new yang $ go-file coin show block zdpwyqfd 2mbqlx7bwqndevomxj6 sc5 hxzorzaoxpt6xjaythnenw

块详细信息

miner:fcq 0y 72 meekwnvchwml 0 uzx 759 q 25 nk0 rqc 47 ret

重量:293567.552

身高:10787

随机数:0

收益之二:创建报价单ask

1)获取矿工的地址

export MINER _ ADDR = ` go-file coin config mining . MINER address | tr-d ' '

2)设置矿机所有者

export MINER _ OWNER _ ADDR = ` go-file coin MINER OWNER $ MINER _ ADDR ` s

3)创建一个报价,价格为0.000000001 fil/byte/block,交易费用为0,燃气限额为1000,提供2880 block空

go-file coin MINER set-price-from = $ MINER _ OWNER _ ADDR-MINER = $ MINER _ ADDR-price = 0-limit = 1000 0.00000001 2880 # output:CID of the ask

要发布报价,您需要将其打包到块中

way newyang:file coin way newyang $ go-file coin MINER set-price-from = $ MINER _ OWNER _ ADDR-MINER = $ MINER _ ADDR-price = 0-limit = 1000 0.00000001 15315

将miner fcqjge 872 spqrgtm 8 dhlndjgfxxx0yujvxsl的价格设置为0.000000001。

已发布的ask,cid:zdpwyqfcxl 3 vw3xzmhhcbqptvhoqa53pn 6 dzv 3 uy 23 jnl 76 za 1 vt。

分块询问确认链:zdpwyqfd 7 wjnj 74 sdb 9 hqupdmwmpppevygb14 bo6 rqc 7 ho 2687d。

4)查询区块信息(第三步ZDPYQFD 7 wjnj 74 sdb 9 hqupdmwmppevygb14 PBO 6 rqc 7 ho 2687d)找到对应的报价信息

way new yang:file coin way new yang $ go-file coin show block zdpwyqfd 7 wjnj 74 sdb 9 hqupdmwmpppevygb14 bo6 rqc 7 ho 2687d-enc = JSON

{ " miner ":" fcqnam 6n 2 qml 2 eyngws25 srzvhcdf 0t 8 gcgrsvnrk "," ticket ":" am 0p 5i C9 ph+o9 dtwd/Mxydeojw 25 pfdwhtgonrksp4 = "," parents ":[{ "/:" zdpwyqfcwnwhjxdex cx7ipvrkfwhlbtsm6 esunfklugiagw " }]," parentWeight":"kujBrQE= "," height":"2Hc= "," nonce

//查询最新的块信息

way new yang:go-file coin way new yang $ go-file coin show block ` go-file coin chain head-repodir = ~/. file coin 2/| jq-r '。[0]'|jq -r '。["/"]'`

块详细信息

miner:fcq 973 y2y 7 hvcce 8 zkwd 7r 2847 xmfjvdecn 98 lws

重量:134386.836

身高:5013

随机数:0

5)获取所有矿工的报价信息

go-filecoin客户端列表-asks - enc=json | jq

现在默认是只要客户出价高于矿工报价,默认接受交易。停止挖矿

go-filecoin采矿停止

Rm -rf ~/。filecoin //删除filecoin miner实例,块同步也被删除。再次实例化,需要再次同步块

3.2.3.2搜索矿工

暂未发现支持,目前可以自己的供应商(具体矿工)处获取;后面通过更深入的分析之后另行补充。

在3.2.3.3修理矿工

修复矿工的概念是白皮书之后提出的,后面继续深入分析之后再另行补充。

3.2.4客户操作

3.2.4.1存储客户

filecoin 与IPFS数据结构是兼容的

//创建测试文件

Wayne yang:测试waynewyang $回应“嗨,我的名字是$USER”>;hello.txt

way newyang:test way newyang $ cat hello . txt

你好,我的名字是韦纽杨

//导入文件本地资源库

way new yang:test way new yang $ export CID = ` go-file coin client import。/hello . txt ` s

way newyang:test way newyang $ echo $ CID

qmchgh3n 3 kxwiaz2c p9 pbv 93 i77 h3k 8 ktqcbtevr 5 Q7 wzs

//在这里你会发现IPFS上传的CID是一样的。

way newyang:test way newyang $ ipfs add hello . txt

添加了qmchgh3n 3 k3xwiaz2c p9 pbv 93 i77 h3k 8 ktqcbtevr 5 Q7 wzs hello . txt

25B/25B[= = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = = =

//使用go-filecoin或IPFS命令获取数据,结果一致

way new yang:test way new yang $ go-file coin client cat $ CID

你好,我的名字是韦纽杨

waynewyang:测试waynewyang$ ipfs block获取$CID

你好,我的名字是韦纽杨

导入测试数据

Wayne yang:sample-data Wayne yang $ export CID = ` go-file coin client import camel . jpg '

Wayne yang:样本数据Wayne yang $ go-file coin客户端cat $ CID & gtimage.png & amp;& amp开放image.png

waynewyang:样本数据waynewyang$ echo $CID

qmeubcgkfxpafft4 xrfgf 3n qdrzjjuvoaqe5 spugbrpz 7u

查询矿工的报价单

Wayne yang:sample-data Wayne yang $ go-file coin client list-asks-enc = JSON | jq

{

“Miner”:“fcqvnwlanfu 7 ecflnp3rc 5 GM 0 ecdamvxgvlawref 4”,

“价格”:“0.0000000001”,

【有效期】:7079,

“标识”:0,

“错误”:空

}

{

“Miner”:“fcqsmut 6 jnwchq 0 qlcc 3t 6v 44 pzgf 8l 49 LG 6r 8 wl4a”,

“价格”:“0.0000000001”,

【到期】:16522,

“标识”:0,

“错误”:空

}

{

“Miner”:“fcqsmut 6 jnwchq 0 qlcc 3t 6v 44 pzgf 8l 49 LG 6r 8 wl4a”,

“价格”:“0.0000000000000000000001”,

【到期】:18753,

【身份证】:1、

“错误”:空

}

{

“Miner”:“fcqghrce 7 vaf 6 czj 54x 5 qke0 Mn 2 uzzg8 ckvgvcjpe”,

“价格”:“0.0000000001”,

“到期”:14404,

“标识”:0,

“错误”:空

}

......

下单

go-filecoin客户提议-存储-交易<。miner>。& lt数据>。& lt询问。& lt持续时间>。

& ltminer>。列表中矿工的地址-询问

& lt数据>。要存储的导入数据的CID

& lt询问。询问的标识,也来自列表询问(通常为0)

& lt持续时间>。您希望存储多长时间(以大约30秒的块数为单位)。例如,存储1天(2块/分钟* 60分钟/小时* 24小时/天)= 2880块。

发送数据和支付

1次付款

1)支付给paych

2)定期支付矿工工资

2数据

1)未密封的数据称为临时存储区

2)密封完成后分期付款

3.2.4.2找回顾客

现在是指定所对应的存储矿工进行检索,暂未发现更多支持,在后面的深入分析中会继续跟进。查询订单状态,必须是密封,posted交易结束后才能查询

go-filecoin客户端查询-存储-交易<。交易ID >。

检索

go-filecoin检索-客户端检索件<。minerAddress & gt。& ltCID >。

3.2.5文件合同

3.2.5.1文件合同

其实现在的创建存储矿工,以及矿工创建报价、存储客户提交订单存储,这些笔者认为属于filecoin文件合约的范畴。与以太坊类似,以太坊抽象出了代币合约以及通用智能合约; 而filecoin则是抽象出了文件合约和通用智能合约。

3.2.5.2智能合同

暂未发现支持通用智能合约,在后面的深入分析中会继续跟进。

3.2.6在单台机器上运行多个文件节点

3.2.6.1如何修改资源目录和服务端口

go-filecoin init的时候,通过 ‘--repodir=所指定资源目录路径’ 命令进行初始化目录资源,后面的其他命令同样需要所指定资源目录路径进行操作。修改资源目录下的config.json文件,将默认的端口予以修改,避免与另外的本机实例相冲突。

3.2.6.2集装箱调配模式

可以包装成docker形象,有兴趣的朋友可以自行尝试。

1.《t43p filecoin技术架构分析之三:filecoin开发网络使用》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。

2.《t43p filecoin技术架构分析之三:filecoin开发网络使用》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。

3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/guonei/1047562.html

上一篇

上海医生抵达武汉 到底是什么状况?

下一篇

带母出嫁感动一座城 孝女收获幸福爱情

北电发特别条款 对王俊凯入学前就已签订的公司合约没有影响

北电发特别条款 对王俊凯入学前就已签订的公司合约没有影响

7月27日,近日,TFBOYS成员李淑昕正式考入北京电影学院表演系。近日,在北电官方微博转发的2017年新生录取通知书中,一条“特别关注”引起网友热议。  《特别注意》规定:“为了保证正常的教学秩序,2017年入学的学生不...

布道什么意思 布道区块链|经济学人:区块链(blockchain)的意义

  • 布道什么意思 布道区块链|经济学人:区块链(blockchain)的意义
  • 布道什么意思 布道区块链|经济学人:区块链(blockchain)的意义
  • 布道什么意思 布道区块链|经济学人:区块链(blockchain)的意义

链接交易 解密|区块如何链接成区块链

  • 链接交易 解密|区块如何链接成区块链
  • 链接交易 解密|区块如何链接成区块链
  • 链接交易 解密|区块如何链接成区块链
贾跃亭欲撕毁合约 贾跃亭为什么对恒大提起仲裁?

贾跃亭欲撕毁合约 贾跃亭为什么对恒大提起仲裁?

贾跃亭想撕毁合同,一手把贾跃亭和FF从悬崖上拉回来的恒大,当然不会想到FF91会在量产一步步收获前夕被贾跃亭提请仲裁。 10月7日,恒大健康宣布,恒大旗下子公司时颖于2017年11月30日与贾跃亭控股的FF Top公司签署...

里皮拒足协合约 表示不会再选择执教俱乐部

里皮拒足协合约 表示不会再选择执教俱乐部

在摩纳哥金足奖发布会上,里皮亲口承诺将辞去国足教练一职,在亚洲杯结束后回到意大利,里皮提到足协已经向他提供了一份为期四年的新合同。 里皮曾经率领中国男足参加过亚洲12强世界杯预赛,记忆犹新。接手之初,国足第四战只得一分。里...

许家印告贾跃亭 要求贾跃亭和合资公司履行合约

仲裁结果公布,纠纷“余波”未尽。11月7日晚,恒大健康宣布,时颖已对贾跃亭和合资公司Smart King提起全面反诉,要求贾跃亭和合资公司履行合同。FF宣布“紧急救援申请取得决定性胜利”还不到两周。 恒大健康表示,贾跃亭和...

山东煤矿11人获救 矿工:想给媳妇打电话

山东煤矿11人获救 矿工:想给媳妇打电话

11月21日消息,21日上午,梁宝思能源公司火灾事故救援取得较大进展,11名被困矿工全部成功打捞入井,现已送往医院。根据救援指挥部的最新消息,11月21日上午,11人全部获救,全部被抬入井内。一个矿工走到井边问:“我可以给...

源代码快播 【区块链晚报】美团员工被曝利用公司背书进行区块链项目诈骗,牵扯17个同事; 快播创始人王欣已成立人工智能和区块链公司

  • 源代码快播 【区块链晚报】美团员工被曝利用公司背书进行区块链项目诈骗,牵扯17个同事; 快播创始人王欣已成立人工智能和区块链公司
  • 源代码快播 【区块链晚报】美团员工被曝利用公司背书进行区块链项目诈骗,牵扯17个同事; 快播创始人王欣已成立人工智能和区块链公司
  • 源代码快播 【区块链晚报】美团员工被曝利用公司背书进行区块链项目诈骗,牵扯17个同事; 快播创始人王欣已成立人工智能和区块链公司