promise

目的是为了解决回调地狱

then(): 当promise状态为fulfilled时调用;

catch(): 当promise状态为rejected时调用;

finally(): 无论promise状态都会调用;

async和await

async: 将函数的返回值包装成promise;

await: 等待当前异步操作, 完成后才执行后续异步操作;

promise操作

  • promise.all(): 当所有promise状态都为fulfilled了才执行;
  • promise.race(): 当任意promise有结果了就执行;
  • promise.allSettled: 当所有promise都有结果了才执行;
  • promise.any(): 当任意promise状态为fulfilled了就执行;

  • display: grid;
  • grid-column-start:
    • 值为n, 表示从第n个格子开始;
    • span n, 表示从end的位置往前推n格;
    • grid-row-start同理;
  • grid-column-end:
    • 值为n, 表示到第n个格子结束;
    • span n, 表示从start的位置开始持续n格;
    • grid-row-end同理;
  • grid-column:
    • n/m, 表示从第n格开始到第m格结束;
    • grid-row同理;
  • grid-area:
    • 打包grid-row和grid-column;
  • order:
    • 子元素上调整位置;
  • grid-template-columns:
    • 值为各个格子的横向大小;
    • repeat(n, m), 表示有n格, 各格为m的大小;
    • grid-template-rows同理;
  • grid-template:
    • 打包grid-template-rows和grid-template-columns;

  • display: flex;
  • justify-content:
    • flex-start, flex-end;
    • center;
    • space-between, space-around;
  • align-items:
    • flex-start, flex-end;
    • center;
    • baseline, stretch;
  • flex-direction:
    • row, row-reverse;
    • column, column-reverse;
  • order:
    • 子元素上调整单个元素的位置, 以原位置为0进行调整;
  • align-self:
    • 子元素上调整单个元素的正交位置, 值同align-items;
  • flex-wrap:
    • wrap, wrap-reverse;
    • nowrap;
  • flex-flow:
    • 打包flex-direction和flex-wrap;
  • align-content:
    • 和align-items的不同: align-content determines the spacing between lines, while align-items determines how the items as a whole are aligned within the container.
    • flex-start, flex-end;
    • center;
    • space-between, space-around;
    • stretch;

  1. 将博客项目中除node_modules外的所有文件拷贝到新电脑;
  2. 安装hexo工具npm install hexo-cli -g
  3. 进入项目路径并执行npm install
  4. hexo clean后即可;
  5. 若出现pandoc相关err,打开对应文件后再generate;

重拾落灰已久的香橙派,mark一下连接步骤:

  1. arp -a查看目前网络情况
  2. wlan设置打开共享,共享给“以太网”
  3. 用网线连接香橙派
  4. arp -a查看新增配置,找出香橙派ip地址
  5. ssh连接,此时网线两侧的灯都是亮的

一、了解PEAQ

介绍peaq网络的博客:首條 DePIN 聚合公鏈 Peaq Network !AI+RWA 打造最大機器物聯網 - 每日幣研

peaq,krest,agung之间的关系为主网,金丝雀网络和测试网。目前只上线了krest和agung网络,peaq网络预计24Q1末上线。

金丝雀网络,即canary network,有限代币供应的主网,类似于“实验网”,类比kusama网络。

二、相关文档搜集

peaq项目网址:

  1. https://www.peaq.network/
  2. https://docs.peaq.network/

krest浏览器网址:

  1. Polkadot/Substrate Portal
  2. Subscan | Aggregate Substrate ecological network high-precision Web3 explorer

agung浏览器网址:

  1. Polkadot/Substrate Portal
  2. Subscan | Aggregate Substrate ecological network high-precision Web3 explorer
  3. Polkadot/Substrate Portal
  4. PEAQ ETH Chain POA Explorer

三、PEAQ发币可行性

官方博客-在peaq网络上部署智能合约

四、获得$KREST和$AGUNG方式

目前只能在MEXC和XT.com上获得krest代币。

官方教程-领agung代币

五、部署合约

AGUNG部署合约

官方博客-在agung网络上部署智能合约

KREST部署合约

类似AGUNG网络部署合约

  1. 在交易所购买krest代币后提现到波卡钱包。
  2. 在krest浏览器中将波卡钱包中的krest代币转账到小狐狸钱包中,需要将小狐狸钱包地址转成波卡钱包地址。
  3. 用小狐狸钱包账户在remix上选择krest网络并部署合约,部署后在krest的subscan浏览器合约栏中可以看见部署的合约。

六、参考资料

钱包网络参数设置

metamask中krest和agung网络参数设置:

  1. Quickstart | peaq
  2. chainlist上开启测试网选项后可搜到

代币跨钱包

krest和agung代币跨钱包教程:

  1. https://github.com/kj89/testnet_manuals/blob/main/peaq/token_transfer.md
  2. Metamask | peaq

注意metamask中添加的网络和进行转账的网络要一致

地址转换工具

substrate和eth地址转换工具:

  1. Substrate EVM Address Converter
  2. Substrate JS Utilities
  3. SNOW Address Converter

最近事有点多,捋一下。

O1:毕业设计

时间节点:3月1号交中期报告,3月31号交论文初稿。

KR:构建依赖图

暂定控制依赖和数据依赖,后续可完善函数调用和函数返回。

O:构建控制依赖关系

—-初步构建—-

现存问题:

  • 节点粒度:基本块,语句
  • 图基座:ir,源码

O:构建数据依赖关系

—-初步构建—-

分为状态依赖,局部依赖,暂时不考虑全局变量。

现存问题:

  • 依赖关系缺失:当指令后跟变量时,变量追溯存在缺陷

O:构建函数调用关系

待定,已初步构建。

O:构建函数返回关系

待定,已初步构建。

KR:定义切片准则

待定,现考虑CALL,CALLER和CALLVALUE指令。

KR:切片算法

待定,书上为后向切片。

O2:DePIN项目

时间节点:3月1号出成品。

KR:官网

已有样式,全静态网站。

KR:APP

—-参与—-

参考helium钱包app,未确定功能和文档,周二开会讨论。

KR:矿机

已确定大致功能,待确定具体硬件模块。

KR:质押界面

已有样式,类似流支付协议界面。

KR:合约

—-参与—-

未确定接口,至少有质押合约。

O3:升学

时间节点:去年2月10号开始报名,3月23号交材料,3月28号面试。

KR:材料准备

待定,2月准备。

KR:面试准备

数学、专业知识和项目经历。

O:高数

已开始准备。

O:概率论

O:线性代数

O:408

O:项目经历

O4:MultiGo

时间节点:无

KR:基本玩法设计

KR:单机demo

KR:联机demo

现node版本为20.10.0,想降为18.19.0,无法直接安装对应版本node,有以下两个工具可以进行node版本管理:

  1. 从npm安装的nvmw
  2. 从github安装的nvm

我采用的是nvmw,有诸多不便,以后尝试nvm。

安装nvmw命令:npm install -g nvmw

有安装node的命令nvmw install version_you_want,但是我下载不了,会卡住,可能得换源qaq。

这里我的办法是手动下载node到user/nvmw/nodejs中,需要修改文件名为版本号。

安装node后可以使用nvmw ls查看现有node版本。

有两个命令来切换node版本:

  1. 临时切换:nvmw use version_you_want
  2. 永久切换:nvmw switch version_you_want

however我不能用use命令来切换版本,只能switch后重启来切换cmd中的node版本,powershell中版本不受影响。

—-2024.1.15更新—-

装nvm,不用卸载原有node。装好后,安装对应版本的npmnpm install npm@version_you_want

四、issta投稿

4.1 写作思路回顾

这次的投稿文章有7个章节,abstract,introduction,background and motivation,overview,detail,evaluation,related work和conclusion。

内容较泛部分

可以一句话概括,然后用gpt进行扩写。

适用内容较泛部分,比如abstract第一段,introduction前几段,background和related work,甚至overview中解释solution的时候也可以小用一下doge。

各部分内容

abstract简要介绍背景,motivation,提出的方法思路,表现。

introduction介绍背景,现有工作不足,然后引出我们的方法,介绍我们的方法思路,最后讲评估表现。

background and motivation要先介绍研究内容的基座,然后着重介绍我们设计方法的考量,用一个motivation example来说明我们发现了什么什么情况,基于这种情况我们这样设计模型。

overview先摆我们遇到的挑战以及我们的解决方案,尽可能涉及我们用的所有部分,然后分部分说方法的整体框架。

detail无他,就是详细介绍各个部分的细节。

evaluation先介绍setup,其中包括实验环境,数据集,性能指标,RQ,参数等等。然后对应RQ开始评估,一般有对比实验,消融实验,参数实验,摆几个case study,最后可以来个limitations。表现能解释解释,不能解释就直接描述结果。case不用过于详尽,但要体现我们选他的理由。

related work略。

conclusion就是abstract- background and motivation。

4.2 标记规范

自己瞎定的。

  1. 用ffoo,XXX作为占位符
  2. 完成情况标记:1210todo表示1210做,doing表示正在做,todo?表示不一定做,done表示完成
  3. 原文注释规范:第X章开头:ffoo、第X节开头:ffoo

4.3 碎碎念

应该用钉钉的思维导图(okr那个),可以指派任务,完成后转移指派。

写论文真得开个gpt4,神中神,写废话和写代码利器。

chatgpt翻译 < deepl翻译,gpt喜欢拽高级表述,很奇怪,会影响原文的重点,不过deepl有时候也是一坨。

画latex表格网址

excel画折线图,ppt画示意图,还可以用matlabplot画3d图和热力矩阵。

0%