从零开始的Web3学习 2| Bitcoin 到 Etherum (智能合约的出现)

从零开始的Web3学习 2| Bitcoin 到 Etherum (智能合约的出现)

1. 比特币BTC一 区块链1.0

1.1 比特币的诞生

历史背景

  • 2008年,署名为“中本聪”的神秘人物发布了论文《比特币:一种点对点式的电子现金系统》首次提出了比特币的概念。
  • 2009年,比特币软件发布并正式启动了比特币金融系统,中本聪逐渐淡出人们的视野,至今他(或他们)的身份仍是未解之谜。
  • 重要背景:08年的次贷危机和金融危机,中本聪希望通过比特币创造一种全球自由流动、不受政府监管和控制的数字加密货币。
1.2 比特去中心化与分布式账本
去中心化的定义
  • 比特币通过去中心化的方式,不受任何个人或机构控制,能够自动运行。
  • 传统金融系统如支付宝依赖于中心化服务器,存在单点故障的风险(如黑客攻击、企业破产)。
  • 比特币的解决方案:通过分布式账本技术,每个运行比特币软件的设备都可以成为一个节点,这些节点共同维护区块链,确保数据的安全性和一致性。
共识机制
  • 比特币使用的工作量证明(Proof of Work)机制,确保只有超过50%的节点同意时,区块链数据才能被修改。
  • 重要数据:截至2021年1月,比特币全球节点数为11703个,篡改数据几乎不可能,因为需要控制51%的节点(约5968个)才能成功。
1.3 矿工与比特币
挖矿的概念
  • 挖矿是运行比特币软件,猜测区块链中下一个区块的加密值,成功猜中后即可获得比特币奖励。
  • 经济激励:金钱驱动力让越来越多的人参与到比特币网络的维护中,形成了比特币挖矿产业。
1.4 比特币的缺陷

<

Read more

微信 H5 缓存控制:后端重定向 & 前端强制刷新

在 Web 开发中,缓存是一把双刃剑。对于静态资源,它能极大提升加载速度;但对于业务逻辑频繁变动的 H5 页面(如支付、订单页),缓存往往会导致用户看到过期的数据或界面。最近在维护一个 uni-app 项目时,遇到了一段关于 H5 缓存控制的逻辑,引发了我对于“后端重定向加时间戳”和“前端 JS 加时间戳”这两种方案的思考。虽然两者的最终目的一致,但在 Hash 模式下,它们的实现原理和效果有着本质的区别。 一、 问题背景 在应用启动的生命周期中,通常会有这样一段逻辑:当用户访问特定的关键页面(如支付、订单页)时,如果当前 URL 中缺少时间戳参数,前端会自动解析 URL,追加当前时间戳,并强制页面刷新。 这就引出了一个问题:为什么不直接在后端重定向时加时间戳?这两种方式有什么区别? 二、 核心区别:

openclaw web UI 无法访问 not found

## 问题解决总结 根本原因 :Gateway 的 resolveControlUiRootSync 函数在自动查找控制 UI 目录时,没有包含 node_modules/openclaw/dist/control-ui 作为候选路径。手动指定相对路径时,可能因为工作目录解析问题无法正确找到目录。 最终解决方案 : 1. 将控制 UI 文件从 node_modules/openclaw/dist/control-ui 复制到项目根目录       E:\你实际的目录\control-ui       (建立一个英文,且没有符号的目录,“-”和“_",会引起混淆) 2. 在配置文件中使用绝对路径指定 controlUi.root: "E:\\你实际的目录\\control-ui" 编辑 openclaw.json "

BAAI/bge-m3环境部署教程:从零配置到WebUI运行完整步骤

BAAI/bge-m3环境部署教程:从零配置到WebUI运行完整步骤 1. 学习目标与前置准备 本教程将带领您完成 BAAI/bge-m3 语义相似度分析引擎的完整部署流程,涵盖环境搭建、模型加载、服务启动及 WebUI 使用等关键环节。通过本文,您将能够: * 在本地或云服务器上成功部署 bge-m3 模型推理环境 * 理解基于 sentence-transformers 的文本向量化实现机制 * 启动并访问可视化 WebUI 界面进行语义相似度测试 * 验证 RAG 场景下的文本召回质量 1.1 前置知识要求 为确保顺利跟随本教程操作,请确认已掌握以下基础知识: * 基础 Linux 命令行使用能力(文件操作、权限管理) * Python 编程基础(了解 pip 包管理工具) * 对 NLP 中“文本嵌入”和“余弦相似度”有基本理解

Bugku-web(bp)

Bugku-web(bp)

WriteUp1 题目信息 解题思路 打开页面,是一个登录页面 源码审计发现是个 form 表单提交 抓包,随便填写个密码提交观察 右键发送到重放器 点击发送 观察响应结果 发现有个 success.php 的页面,根据 JS 代码的 window.location.href 后面的地址知道,应该是访问服务器根路径下的 success.php 文件并携带查询参数 code 不等于 bugku10000 它才会走到 else,它来帮我们跳转到 success.php 并携带一个 code 所以猜测当账户密码正确时,会返回一个正确的code,错误时会返回bugku10000 猜测代码如下: <?php // 获取提交的账号和密码 $username = $_POST['username'