move
Move 与 Aptos 开发笔记Move 是面向数字资产的智能合约语言。它通过资源类型、所有权和能力约束减少资产被复制、重复使用或意外销毁的风险。Aptos Move 在基础 Move 语言之上提供账户、对象、事件和框架模块。 语言核心思想 资源安全:具有 key 能力的资源可进入全局存储,不能被隐式复制或丢弃。 所有权转移:值被移动后,原变量不能继续使用。 显式能力:copy、drop、store 和 key 控制类型允许执行的操作。 模块隔离:资源只能由定义它的模块直接创建和破坏。 静态验证:大量错误在编译阶段被拒绝,便于形式化分析。 1234567flowchart LR A[源代码] --> B[解析与类型检查] B --> C[借用与能力检查] C --> D[编译为 Move 字节码] D --> E[字节码验证] E --> F[虚拟机执行] F --> G[更新链上资源] 模块、入口函数与脚本模块用于定义结构体、函数、常量和事件,是长期部署的代码单元。入口函数可由交易直接调用。脚本是一次...
Dapp_xf
DApp 开发与 NFT 示例DApp 由智能合约、链上网络、钱包连接、前端应用和链下基础设施共同组成。开发重点不是单独完成合约或页面,而是保证 ABI、地址、链 ID、交易状态和权限边界在各层保持一致。 总体架构1234567891011flowchart LR U[用户] --> W[浏览器钱包] U --> F[前端应用] F --> W W --> R[RPC 节点] F --> R R --> C[智能合约] C --> E[事件日志] E --> I[索引服务] I --> F F --> M[IPFS 或对象存储] 开发流程 明确业务状态、参与角色和信任边界。 编写最小合约并建立单元测试与不变量测试。 编写部署脚本,固定网络、构造参数与管理员地址。 导出 ABI 和部署地址,生成前端类型。 实现钱包连接、读操作、交易模拟、签名和回执跟踪。 在本地网络与测试网执行端到端测试。 完成权限复核、安全审计、合约验证和前端部署。 建立事件监控、错误告警与升...
0G_Storage_System_Deep_Dive
0G Storage System Deep Dive0G Storage 是面向大规模数据的去中心化存储系统。应用侧通常通过 SDK 完成文件切分、哈希树构建、链上提交和存储节点上传,并通过索引服务查询文件元数据与可用节点。使用时应把链上状态、索引元数据和节点中的实际数据区分开来。 组件职责 Storage Client:面向应用提供上传、下载和状态查询入口。 Storage SDK:负责数据切分、根哈希计算、交易提交、节点选择与并发传输。 Storage Contract:记录提交、费用和与数据可用性有关的链上状态。 Storage Node:保存数据分片并响应上传、下载或证明请求。 Storage Indexer:聚合链上与节点元数据,为客户端提供文件定位信息。 123456789101112131415sequenceDiagram participant App as 应用 participant SDK as Storage SDK participant Contract as Storage Contract participant In...
智能合约分析入门
智能合约攻击分析入门智能合约攻击分析的目标是基于链上证据还原状态变化,定位漏洞根因,并验证修复措施。复现工作只应在本地分叉、测试网或已获得明确授权的环境中进行。 分析流程12345678910flowchart TD A[确认事件与交易哈希] --> B[收集合约源码和链上状态] B --> C[还原调用树与资产流] C --> D[定位首个异常状态变化] D --> E[提出漏洞假设] E --> F[构建最小复现] F --> G{复现是否符合链上结果} G -- 否 --> C G -- 是 --> H[评估影响与受影响版本] H --> I[提出修复并编写回归测试] 信息收集至少保存受害合约地址、攻击交易哈希、区块高度、相关代币、代理实现地址和事件时间。源码应与链上字节码核对,代理合约还要确认攻击发生时使用的具体实现版本。 交易浏览器适合初步观察,调试器和节点追踪接口适合检查内部调用、事件、存储差异与 Gas 消耗。分析报告中的每项结论都应能回...
学习笔记
Solidity 与 LP 策略学习笔记本文整理 Solidity 函数可见性、数据位置和集中流动性策略中的基础判断。两个主题都强调状态边界:Solidity 关注调用与存储状态,LP 策略关注价格区间与仓位状态。 Solidity 函数可见性 可见性 合约内部直接调用 派生合约调用 外部账户或合约调用 private 可以 不可以 不可以 internal 可以 可以 不可以 public 可以 可以 可以 external 不可以 不可以直接调用 可以 external 函数不能在同一合约中通过函数名直接执行内部调用。若确需调用,可使用 this.operation() 发起外部消息调用,但这会改变 msg.sender、增加 Gas,并产生新的调用边界。复用逻辑时,更合理的做法是抽取 internal 函数。 123456789101112131415pragma solidity ^0.8.20;contract VisibilityDemo { function operation(uint256 value) external...
DataPipeline
DataPipeline数据管道是一组可重复执行的数据处理过程,负责把数据从源系统可靠地传递到分析、检索或机器学习系统。合格的数据管道不仅能够搬运数据,还应具备质量校验、失败重试、血缘追踪、幂等写入和运行监控能力。 基本结构123456789101112flowchart LR A[业务数据库] --> D[采集层] B[日志与事件] --> D C[外部接口] --> D D --> E[原始数据层] E --> F[清洗与标准化] F --> G[质量校验] G --> H[主题数据层] H --> I[数据仓库] H --> J[特征平台] H --> K[检索与报表] G -->|异常数据| L[隔离区] 批处理与流处理批处理按固定时间窗口读取有界数据,适合日报、历史回算和计算成本敏感的任务。流处理持续消费事件,适合监控、推荐和实时风控。架构选择应由业务时效要求决定,不应仅以技术新旧作为判断依据。 维度 批处理 流处理 数据边界...
WEB安全阅读记录
Web 安全阅读记录Web 安全的目标是保护系统的机密性、完整性与可用性。安全建设应从资产和信任边界出发,通过威胁建模识别风险,再用预防、检测、响应和恢复措施形成闭环。 安全评估流程1234567flowchart TD A[识别资产与数据] --> B[划分信任边界] B --> C[枚举威胁] C --> D[评估发生概率与影响] D --> E[制定缓解措施] E --> F[验证措施有效性] F --> G[监控与持续复查] 资产分级资产包括用户数据、身份凭据、密钥、业务接口、源代码、基础设施和可用性。分级时应记录资产负责人、存储位置、访问主体、保留周期和泄露后的影响。 STRIDE 威胁建模 类型 关注问题 常见缓解措施 身份伪造 攻击者冒充合法用户 强身份认证、会话保护 数据篡改 数据被未授权修改 完整性校验、权限控制 抵赖 操作方否认已执行行为 审计日志、可信时间 信息泄露 敏感数据被读取 加密、脱敏、最小权限 拒绝服务 服务资源被耗尽 限流、隔离、弹性扩容 权限...
RWA
RWARWA 是 Real World Assets 的缩写,指通过法律安排、托管和链上代币表示现实世界中的权利或资产。常见标的包括国债、信贷、房地产权益、商品和应收账款。RWA 的核心并非简单地发行代币,而是建立链上凭证与链下权利之间可执行、可核验的映射。 基本结构123456789flowchart LR A[资产发起方] --> B[特殊目的载体] B --> C[托管与法律确权] C --> D[估值与审计] D --> E[代币发行合约] E --> F[合格投资者] G[预言机或证明服务] --> E H[赎回与清算机构] --> B F -->|赎回请求| H 完整生命周期 资产筛选:确认所有权、现金流、期限和违约风险。 法律隔离:通过特殊目的载体或信托隔离发起方破产风险。 托管确权:由合格机构保管资产并形成可验证文件。 代币发行:合约记录持有人权利、转让限制和份额数量。 存续管理:持续披露净值、收益、抵押率和重大风险事件。 赎回清算:销毁代币并按法律约定交付现金或底层...
SQL
SQL 学习笔记SQL 是用于定义、查询和操作关系型数据的声明式语言。编写 SQL 时,应先明确目标结果集,再考虑连接、过滤、聚合和执行计划。不同数据库在函数、过程语法和事务行为上存在差异,本文以通用 SQL 为主,并在流程控制部分说明 MySQL 风格语法。 SQL 语句分类 DDL:定义数据库对象,例如 CREATE、ALTER 和 DROP。 DML:写入或修改数据,例如 INSERT、UPDATE 和 DELETE。 DQL:查询数据,主要指 SELECT。 DCL:控制权限,例如 GRANT 和 REVOKE。 TCL:控制事务,例如 COMMIT 和 ROLLBACK。 12345678flowchart LR A[业务问题] --> B[确定目标列] B --> C[确定数据来源与连接] C --> D[使用 WHERE 过滤行] D --> E[分组与聚合] E --> F[使用 HAVING 过滤分组] F --> G[排序与限制结果] G --> H[检查执行计划] 基础查...
Polymarket-learning
Polymarket 学习笔记Polymarket 是链上预测市场的代表性应用。用户交易某个事件结果对应的份额,市场价格可被理解为参与者对结果概率的聚合判断,但它并不是客观概率,也不构成确定性预测。 市场如何运作一个二元市场通常包含 Yes 与 No 两种结果份额。事件结算后,正确结果的每份份额可兑付一个计价单位,错误结果的份额归零。交易阶段的价格由买卖订单决定。 1234567flowchart LR A[用户存入抵押资产] --> B[拆分为 Yes 与 No 份额] B --> C[订单簿撮合与转让] C --> D[事件发生] D --> E[结果提议与争议处理] E --> F[最终结果写入] F --> G[正确份额兑付] 若 Yes 份额价格为 0.64,通常可将其解释为市场隐含概率约为百分之六十四。该解释未考虑手续费、流动性、价差、资金占用和参与者偏差,因此不能把价格直接等同于真实概率。 完整份额与套利约束在理想条件下,一组 Yes 与 No 份额最终总能兑付一个计价单位,因此两者价格之和应...









