Filecoin周报-39期:Filecoin Testnet/3按约定如期上线!

Filecoin测试网第三阶段上线,官方开启InteropNetStaging版,旨在测试lotus与go-filecoin互操作性。主网预计按期上线,经济模型设计中。

 

【项目介绍】

Filecoin是一个将云存储转变为一个算法市场的去中心化存储网络

 

矿工通过提供数据存储和检索来获得Filecoin(FIL)。相反而言,客户通过付费使得矿工提供存储,分发和检索数据。

 

目前,中心化暴露的问题越来越大,IPFS项目逐渐增加,数据存储市场的需求也在逐步加大,这就意味着Filecoin作为激励层,成为市场,为IPFS保驾护航是迫切需求。

 

【项目进度】

测试版本(同时运行):

  • Lotus 0.2.9(Testnet/2 )

  • InteropNet Staging 版(Testnet/3 )

     

测试目标:

  • 实施互操作测试(lotus与go-filecoin)

 

项目进度

当前测试网还处于testnet/2的阶段,同时官方团队开启InteropNet Staging 版,这两个版本是同时运行的、互不干扰,目的就是为了测试lotus与go-filecoin的互操作性。

这是官方团队按时间表内计划,如期上线的。正如官方所说,他们对于这次的时间很有信心。

 

【上周热点】

  • 上周最大事件,3月10日,Why在Slack上宣布开启Testnet/3,正式开始互操作网络的测试。

     

     

  • 3月9日,Slack中有人问Why:主网能准时上线么?Why回答:除非我因为新冠去世——被各家解读为“誓死捍卫主网上线”。

     

     

  • 3月10日,韩国主流区块链媒体NewsTvcc发推@juanbenet(IPFS/Filecoin创始人),表示已经准备好10P的存储空间接入IPFS。

     

  • 3月11日,谷歌宣布旗下的谷歌浏览器可以内置IPFS组件。这意味着去中心化在世界范围内的越发流行。

     

 

【上周测试网进度】

1)Testnet/3 InteropNet 上线,目前处于Staging阶段,网络稳定性较差,几乎每日重启。

2)Testnet/2持续稳定运行5周,还将继续运行,直到InteropNet稳定下来。

3)参与测试网的矿工需要注意(截止16:30):

官方浏览器Filscan截图

0316-67.png

  • 区块高度达到 119,640,区块出块正常,算力为 4.739PiB,一周增长接近300T。由于一些矿工转移矿机至InteropNet,算力增长比前一周增长减少。

  • 系统目前出块正常,平均每轮出块数量有所下降,约为2.9,基本正常。

  • 平均出块时间为46秒,正常。由于有矿工退出,空块轮次超过预期。

4)InteropNet 运行状况

  • 3月10日下午 InteropNet启动,目前InteropNet还处于Staging阶段,问题较多,这也是仍然保持Testnet/2的原因。

  • 至此,InteropNet运行近6天,重置多次。当前高度13,900;由于问题较多,出块不正常,平均区块时间达到100秒以上。

  • 本周一网络将再次重置,请大家做好准备。

     

 

【上周开发进度】

上周主要代码和设计进展:

  • Testnet/3的开发持续进行中

    • public parameters v24版本出炉

    • 大量的问题修正,使网络能够运行起来,如使 fallback-Post能够真正运行起来,修复JSONAPI(都是基本功能)

    • 提供32G sector size 的真正支持

    • 区块奖励改为 winner-ticket based,而不是每个区块一样

    • Miner pledge collateral API 

  • Spec(详细设计)

    • 经济模型正在设计完善中,敬请期待。

       

【IPFS原力区】

价值观:价值 共建 共享 荣耀

总部位于上海,聚集基于分布式网络&存储的众多技术大咖和爱好者,深耕基于 IPFS 的商业生态建设和社区发展。

【原力开放日】

每周二举办,聚集了众多技术大咖和 IPFS 爱好者,通过持续输出全面、精细、优质的IPFS咨询和技术支持,将生态中的爱好者转化为IPFS支持者和参与者,共建IPFS生态的健康发展。

原创文章,作者:IPFS原力区,如若转载,请注明出处:https://ipfser.org/2020/03/16/filecoinweek39testnet3shangxian/

那如何將<!-- 数据表格区域,带滚动与分页 --> <div style="width: 95%;margin-left: 28px;margin-top: 25px;"> <!-- 表格标题,动态显示当前周/月 --> <caption style="margin-top: 10px;color: blue;">{{weeks}}:</caption> <!-- 使用 Bootstrap 样式的表格 --> <table class="table table-condensed table-hover table-striped table-bordered table-advanced tablesorter" cellspacing="0" cellpadding="4" id="Body_Gd" style="border-collapse:collapse;"> <!-- 表头 --> <thead> <tr class="btn-primary"> <!-- 使用 btn-primary 类给表头着色 --> <th scope="col" style="white-space:nowrap;">序號</th> <th scope="col" style="white-space:nowrap;">日</th> <th scope="col" style="white-space:nowrap;">送修單位</th> <th scope="col" style="white-space:nowrap;">品名</th> <th scope="col" style="white-space:nowrap;">型號</th> <th scope="col" style="white-space:nowrap;">ISN</th> <th scope="col" style="white-space:nowrap;">單價</th> <th scope="col" style="white-space:nowrap;">報修人員</th> <th scope="col" style="white-space:nowrap;">不良現象</th> <th scope="col" style="white-space:nowrap;">狀態</th> <th scope="col" style="white-space:nowrap;">出庫日</th> <th scope="col" style="white-space:nowrap;">維修人員</th> <th scope="col" style="white-space:nowrap;">不良原因</th> <th scope="col" style="white-space:nowrap;">更換脚位</th> <th scope="col" style="white-space:nowrap;">信號</th> <th scope="col" style="white-space:nowrap;">是否命中</th> </tr> </thead> <!-- 表体:使用 Django 模板语言循环渲染数据 --> <tbody id="scrollBody1"> {% if queryset %} {% for item in queryset %} <tr> <td style="white-space:nowrap;">{{item.0}}</td> <!-- 序号 --> <td style="white-space:nowrap;">{{item.1}}</td> <!-- --> <td style="white-space:nowrap;">{{item.2}}</td> <!-- 送修单位 --> <td style="white-space:nowrap;">{{item.3}}</td> <!-- 品名 --> <td style="white-space:nowrap;">{{item.4}}</td> <!-- 型号 --> <td style="white-space:nowrap;">{{item.5}}</td> <!-- ISN --> <td style="white-space:nowrap;">{{item.6}}</td> <!-- 单价 --> <td style="white-space:nowrap;">{{item.7}}</td> <!-- 报修人员 --> <td style="white-space:nowrap;">{{item.8}}</td> <!-- 不良现象 --> <td style="white-space:nowrap;">{{item.11}}</td> <!-- 状态 --> <td style="white-space:nowrap;">{{item.10}}</td> <!-- 出库日 --> <td style="white-space:nowrap;">{{item.12}}</td> <!-- 维修人员 --> <td style="white-space:nowrap;">{{item.13}}</td> <!-- 不良原因 --> <td style="white-space:nowrap;">{{item.14}}</td> <!-- 更换脚位 --> <td style="white-space:nowrap;">{{item.15}}</td> <!-- 信号 --> <td style="white-space:nowrap;">{{item.16}}</td> <!-- 是否命中 --> </tr> {% endfor %} {% else %} <!-- 如果没有数据,则显示提示信息 --> <tr> <td colspan="16" style="color: red;">無維修OK設備記錄</td> </tr> {% endif %} </tbody> </table> <!-- 分页组件 --> <div class="page clearfix"> <div class="pull-right"> <!-- 右对齐 --> <ul class="pagination"> <!-- 显示总条数和当前页码 --> <div class="pull-left"> <span class="btn btn-primary" style="width: 100px;font-size:14PX;">共{{total_count}}条數據</span> <span class="btn btn-primary" style="width: 100px;font-size:14PX;">第{{page}}/{{total_page_count}}頁</span> </div> <!-- 动态生成的分页链接(由后端传入 page_string 渲染) --> {{page_string}} </ul> </div> </div> </div> 放入到{% load static %} <!-- 加载 Django 的 static 模板标签,用于引用静态文件(CSS/JS/图片等) --> <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <!-- 声明文档字符编码为 UTF-8,支持中文 --> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <!-- 响应式视口设置 --> <title>設備修復率</title> <!-- 页面标题 --> <!-- 引入 Bootstrap CSS 样式文件,用于基础样式和表格美化 --> <link rel="stylesheet" type="text/css" href="{% static &#39;css/bootstrap.css&#39; %}"> <style> /* 响应式容器:包裹图表和控件的主要区域 */ .chart-container { position: relative; /* 相对定位,作为内部绝对定位元素的参考 */ width: 99vw; /* 宽度占视窗宽度的99%,接近全屏 */ height: 95vh; /* 高度占视窗高度的95% */ min-width: 600px; /* 最小宽度限制,防止在小屏幕上过窄 */ min-height: 400px; /* 最小高度限制 */ margin: 20px auto; /* 上下外边距20px,左右自动居中 */ } /* 时间周选择下拉框样式 */ #timePeriod { position: absolute; /* 绝对定位,脱离文档流 */ left: 10%; /* 距离左侧10% */ top: 20px; /* 距离顶部20px */ z-index: 999; /* 层级最高,确保显示在其他内容之上 */ width: 100px; height: 30px; font-size: 14px; } /* “顯示週”标签样式 */ label { position: absolute; left: 5%; /* 稍微靠左于下拉框,形成对齐 */ top: 25px; font-weight: bold; color: #666; /* 灰色字体 */ } /* 图表下方说明文字样式 */ .explanation { position: absolute; bottom: 10px; /* 固定在容器底部上方10px */ left: 5%; color: #2196F3; /* 蓝色文字(类似 Material Blue) */ font-size: 14px; } /* 主要图表区域的高度控制 */ .chart-main { height: 85vh; /* 占据大部分视窗高度 */ } </style> </head> <body> <!-- 主容器:包含图表、筛选器、表格与分页 --> <div class="chart-container"> <!-- 下拉框标签 --> <label for="timePeriod">顯示週:</label> <!-- 时间周选择器 --> <select id="timePeriod" class="form-control"> <option value="month">月報表</option> <option value="week">週報表</option> </select> <!-- ECharts 图表渲染区域(目前只显示周报图表) --> <div id="xiufulv_week" class="chart-main"></div> <!-- 计算公式说明 --> <div class="explanation"> <div>計算公式:</div> <div> 修復率 = (出庫修復數 / 出庫數) * 100%</div> </div> </div> <!-- 引入必要的 JS 文件 --> <script src="{% static &#39;js/jquery.js&#39; %}"></script> <!-- jQuery 库 --> <script src="{% static &#39;js/echarts5.4.js&#39; %}"></script> <!-- Apache ECharts 5.4 图表库 --> <script src="{% static &#39;js/wanxiulv_week.js&#39; %}"></script> <!-- 自定义脚本:初始化图表并处理交互逻辑 --> <!-- 注意:当前只加载了 week 图表脚本,缺少 month 切换逻辑 --> </body> </html>
最新发布
12-19
你希望将原本被注释掉的 **数据表格区域(含分页)** 正确地嵌入到当前正在使用的 HTML 模板中,而不是保留在注释里。我们需要做的是:**合理布局图表与表格的关系**,使页面既显示 ECharts 图表,也显示下方的数据表格和分页控件。 --- ### ✅ 目标 把以下内容: ```html <!-- 数据表格区域 --> <div style="width: 95%;margin-left: 28px;margin-top: 25px;"> ... </div> ``` **整合进你的主模板结构中**,并确保整体排版清晰、不遮挡、响应式良好。 --- ## ✅ 最终整合方案(推荐结构) 我们调整 `.chart-container` 内部结构为: - 上半部分:ECharts 图表 - 中间说明文字 - 下半部分:数据表格 + 分页 --- ### ✅ 修改后的完整 HTML 模板代码如下: ```html {% load static %} <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>設備修復率</title> <!-- 引入 Bootstrap CSS --> <link rel="stylesheet" type="text/css" href="{% static &#39;css/bootstrap.css&#39; %}"> <style> /* 主容器:响应式布局 */ .chart-container { position: relative; width: 96vw; min-width: 600px; min-height: 800px; margin: 20px auto; padding: 10px; box-sizing: border-box; } /* 时间选择器样式 */ #timePeriod { position: absolute; left: 10%; top: 20px; z-index: 999; width: 120px; height: 34px; font-size: 14px; } label[for="timePeriod"] { position: absolute; left: 5%; top: 25px; font-weight: bold; color: #666; } /* 图表区域 */ .chart-main { width: 100%; height: 40vh; margin-bottom: 20px; } /* 表格区域 */ .table-section { width: 95%; margin: 30px auto 10px; overflow-x: auto; /* 横向滚动支持小屏幕 */ border: 1px solid #ddd; border-radius: 6px; background-color: #fff; } table { width: 100%; margin: 0; table-layout: fixed; /* 固定列宽,防止错乱 */ } th, td { text-align: center; overflow: hidden; text-overflow: ellipsis; } caption { text-align: left; caption-side: top; margin: 10px 0; color: blue; font-weight: bold; font-size: 1.1em; } /* 分页栏样式 */ .pagination-wrapper { text-align: right; padding: 10px; background-color: #f9f9f9; border-top: 1px solid #eee; } .page-info { display: inline-block; margin-right: 15px; font-size: 14px; } .btn-primary-sm { background-color: #007bff; color: white; border: none; padding: 5px 10px; font-size: 12px; } .explanation { position: absolute; bottom: 80px; /* 在图表上方留出空间给表格 */ left: 5%; color: #2196F3; font-size: 14px; } </style> </head> <body> <!-- 主容器 --> <div class="chart-container"> <!-- 标签与下拉框 --> <label for="timePeriod">顯示週:</label> <select id="timePeriod" class="form-control"> <option value="week">週報表</option> <option value="month">月報表</option> </select> <!-- ECharts 图表区域 --> <div id="xiufulv_week" class="chart-main"></div> <!-- 计算公式说明 --> <div class="explanation"> <div>計算公式:</div> <div>修復率 = (出庫修復數 / 出庫數) * 100%</div> </div> <!-- 数据表格区域 --> <div class="table-section"> <caption>{{ weeks }}:</caption> <table class="table table-condensed table-hover table-striped table-bordered" cellspacing="0" cellpadding="4" id="Body_Gd"> <thead> <tr class="btn-primary"> <th scope="col">序號</th> <th scope="col">日</th> <th scope="col">送修單位</th> <th scope="col">品名</th> <th scope="col">型號</th> <th scope="col">ISN</th> <th scope="col">單價</th> <th scope="col">報修人員</th> <th scope="col">不良現象</th> <th scope="col">狀態</th> <th scope="col">出庫日</th> <th scope="col">維修人員</th> <th scope="col">不良原因</th> <th scope="col">更換脚位</th> <th scope="col">信號</th> <th scope="col">是否命中</th> </tr> </thead> <tbody id="scrollBody1"> {% if queryset %} {% for item in queryset %} <tr> <td>{{ item.0 }}</td> <!-- 序号 --> <td>{{ item.1 }}</td> <!-- --> <td>{{ item.2 }}</td> <!-- 送修单位 --> <td>{{ item.3 }}</td> <!-- 品名 --> <td>{{ item.4 }}</td> <!-- 型号 --> <td>{{ item.5 }}</td> <!-- ISN --> <td>{{ item.6 }}</td> <!-- 单价 --> <td>{{ item.7 }}</td> <!-- 报修人员 --> <td>{{ item.8 }}</td> <!-- 不良现象 --> <td>{{ item.11 }}</td> <!-- 状态 --> <td>{{ item.10 }}</td> <!-- 出库日 --> <td>{{ item.12 }}</td> <!-- 维修人员 --> <td>{{ item.13 }}</td> <!-- 不良原因 --> <td>{{ item.14 }}</td> <!-- 更换脚位 --> <td>{{ item.15 }}</td> <!-- 信号 --> <td>{{ item.16 }}</td> <!-- 是否命中 --> </tr> {% endfor %} {% else %} <tr> <td colspan="16" style="color: red;">無維修OK設備記錄</td> </tr> {% endif %} </tbody> </table> </div> <!-- 分页组件 --> <div class="pagination-wrapper"> <span class="page-info btn-primary-sm">共{{ total_count }}条數據</span> <span class="page-info btn-primary-sm">第{{ page }}/{{ total_page_count }}頁</span> {{ page_string|safe }} </div> </div> <!-- JS 脚本 --> <script src="{% static &#39;js/jquery.js&#39; %}"></script> <script src="{% static &#39;js/echarts5.4.js&#39; %}"></script> <script src="{% static &#39;js/wanxiulv_week.js&#39; }"></script> </body> </html> ``` --- ### ✅ 关键修改点解释 | 修改项 | 说明 | |------|------| | `position: absolute` 的 `.explanation` 向上移位 | 防止与表格重叠,原在底部现在改为 `bottom: 80px` | | 使用 `<div class="table-section">` 包裹表格 | 提供边框、圆角、内边距,美观且易维护 | | 将 `caption` 放在表格内部顶部 | 符合语义化 HTML 规范 | | 添加 `overflow-x: auto` | 小屏幕上可横向滚动查看全部列 | | `table-layout: fixed` | 防止列宽不均或换行错乱 | | `{{ page_string|safe }}` | 确保分页链接 HTML 正常渲染 | | 移除了多余的 `cellpadding`, `border-collapse` 等内联样式 | 改由 CSS 控制更整洁 | --- ### ✅ 后端视图建议(views.py 示例片段) 确保你在 `views.py` 中正确传递了所有变量: ```python from django.shortcuts import render from django.core.paginator import Paginator from django.db.models import Q import datetime def repair_rate_view(request): period = request.GET.get(&#39;period&#39;, &#39;week&#39;) # 示例查询(请根据实际模型替换) data = YourRepairModel.objects.filter(status=&#39;OK&#39;).values_list( &#39;id&#39;, &#39;date&#39;, &#39;repair_unit&#39;, &#39;product_name&#39;, &#39;model&#39;, &#39;isn&#39;, &#39;price&#39;, &#39;reporter&#39;, &#39;fault_desc&#39;, &#39;status&#39;, &#39;outbound_date&#39;, &#39;technician&#39;, &#39;fault_reason&#39;, &#39;replaced_position&#39;, &#39;signal&#39;, &#39;is_hit&#39; ) # 分页处理 paginator = Paginator(data, 10) # 每页10条 page_number = request.GET.get(&#39;page&#39;) page_obj = paginator.get_page(page_number) context = { &#39;queryset&#39;: page_obj.object_list, &#39;total_count&#39;: paginator.count, &#39;page&#39;: page_obj.number, &#39;total_page_count&#39;: paginator.num_pages, &#39;weeks&#39;: f"2024年第{datetime.date.today().isocalendar()[1]}週" if period == &#39;week&#39; else "2024年8月", &#39;page_string&#39;: generate_pagination_html(page_obj), # 自定义函数生成分页HTML } return render(request, &#39;your_template.html&#39;, context) ``` --- ### ✅ 可选增强功能建议 1. **点击「週/月」切换时刷新表格** - 用 JavaScript 监听 `#timePeriod` 的 `change` 事件,发送 AJAX 请求更新图表和表格 2. **表格支持本地搜索** - 使用 `bootstrap-table` 或 jQuery 插件实现前端过滤 3. **导出为 Excel** - 添加一个按钮调用后端接口导出当前数据 --- ###
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值