区块链中文技术社区 - 2025年4月
type: channel
link: https://bcskill.com/index.php/2025/04/
description: 区块链,EOS,Ethereum,IPFS,Dapp技能学习
items: Solana SPL 程序编译
items: mcp 开源项目收集与推荐
items: Solana Secp256k1 ECDSA
items: RISC-V 与EVM集成的性能和可行性分析
items: Solana 节点服务器优化
items: Solana 硬件兼容性列表
items: Solana 多重签名交易执行
items: Docker部署思源笔记Web版
items: 雷池WAF版本升级步骤
items: 私有链化部署Squads Protocol

Solana SPL 程序编译
type: item
date: 2025-04-25T17:54:21+08:00
description: 代码Clone git clone https://github.com/solana-program/token.git cd token git checkout program@v3.5.0 基础环境 # 安装nvm curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/master/install.sh | bash source ~/.bashrc # 安装node nvm install 20 node -v # 安装pnpm npm install -g pnpm 安装依赖 pnpm install 编译 cd program/ cargo build-sbf 默认编译可能出现以下错误 [2025-04-25T09:39:35.004769959Z ERROR cargo_build_sbf] Failed to obtain package metadata: `cargo metadata` exited with an error: error: current package believes it's in a workspace when it's not: current: /mnt/d/github/token/program/Cargo.toml workspace: /mnt/d/github/token/Cargo.toml this may be fixable by adding `program` to the `workspace.members` array of the manifest located at: /mnt/d/github/token/Cargo.toml Alternatively, to keep it out of the workspace, add the package to the `workspace.exclude` array, or add an empty `[workspace]` table to the package's manifest. 解决 在 program 目录的 Cargo.toml 文件中添加空的 [workspace] 表 修改 program\Cargo.toml，在第一行增加 [workspace] // 增加此行 [package] name = "spl-token" version = "3.5.0" ... 执行成功后，程序编译出现在program\target\deploy\spl_token.so

mcp 开源项目收集与推荐
type: item
date: 2025-04-24T09:04:00+08:00
description: https://github.com/punkpeye/awesome-mcp-servers/blob/main/README-zh.md https://github.com/yzfly/Awesome-MCP-ZH https://github.com/punkpeye/awesome-mcp-clients https://mcp.so/

Solana Secp256k1 ECDSA
type: item
date: 2025-04-21T16:14:08+08:00
description: no_std与 Secp256k1 曲线兼容的 ECDSA 实现，专为在 Solana 生态系统中使用而设计。 概述 该库使用 Secp256k1 曲线提供了 ECDSA 签名的轻量级实现。它旨在与各种环境兼容no_std，因此适用于嵌入式系统、WebAssembly 模块以及其他缺乏标准库支持的受限环境。 特征 no_std 兼容：在没有 Rust 标准库的环境中工作 签名创建：使用各种方法生成 ECDSA 签名： RFC6979 确定性随机数生成 自定义临时密钥 (k) 支持 预散列消息支持 签名验证：根据公钥验证 ECDSA 签名 签名规范化：使用可选的 s 值规范化（低 S）处理签名的可延展性 最小依赖solana_secp256k1：建立在原语之上 https://github.com/deanmlittle/solana-secp256k1-ecdsa

RISC-V 与EVM集成的性能和可行性分析
type: item
date: 2025-04-21T15:03:41+08:00
description: 前置总结 技术目的：以太坊网络扩容面临的几个长期瓶颈，包括稳定的数据可用性采样、确保区块生产保持竞争力，以及零知识EVM证明。在智能合约中实施RISC-V架构将保持区块生产市场的竞争力，并提高执行层零知识功能的效率。转向RISC-V将使 Ethereum 与 Solana 和Sui等更新的区块链更具竞争力 技术可行性：从《RISC-V 与以太坊虚拟机集成的性能和可行性分析》分析和测试结果应该可行 难度和风险：需要执行层的重新设计，社区大概评估整体需要数年的时间，需要大量资源，并可能出现新的漏洞，并且开发人员和项目将如何通过旧的智能控制trac移植到新系统存在问题。当涉及向后兼容性时，这可能会引起很多麻烦。基本等同于个完整的新链 现状：目前消息来看，Vitalik只是计划考虑信标链运行RISC-V，相当于技术调研初期，对于以太坊目前现状，可以主要为了造势，稳币价。对于以太坊是否真正开始投入开发支持，可能等先观望下了 RISC-V 与以太坊虚拟机集成的性能和可行性分析 https://hackmd.io/@0xdeveloperuche/Hk18BWxkxl RISC-V与EVM相关项目： evm https://github.com/developeruche/riscv-evm-experiment/tree/main/crates/research-draft zkevm https://verified-zkevm.org/ https://argument.xyz/blog/riscv-good-bad/

Solana 节点服务器优化
type: item
date: 2025-04-18T14:52:59+08:00
description: 系统初始化配置 https://docs.solanalabs.com/operations/guides/validator-start#system-tuning sudo bash -c "cat >/etc/sysctl.d/21-agave-validator.conf <<EOF # Increase UDP buffer sizes net.core.rmem_default = 134217728 net.core.rmem_max = 134217728 net.core.wmem_default = 134217728 net.core.wmem_max = 134217728 # Increase memory mapped files limit vm.max_map_count = 1000000 # Increase number of allowed open file descriptors fs.nr_open = 1000000 EOF" sudo sysctl -p /etc/sysctl.d/21-agave-validator.conf sudo bash -c "cat >/etc/security/limits.d/90-solana-nofiles.conf <<EOF # Increase process file descriptor count limit * - nofile 1000000 EOF"

Solana 硬件兼容性列表
type: item
date: 2025-04-18T09:52:17+08:00
description: https://solanahcl.org/ https://github.com/solanahcl/solanahcl https://docs.anza.xyz/operations/requirements

Solana 多重签名交易执行
type: item
date: 2025-04-17T10:50:00+08:00
description: https://github.com/coral-xyz/multisig/tree/master 执行任意 Solana 交易的多重签名示例。 此程序允许多重签名管理任何常规公钥可以管理的内容。您可以将多重签名用作 BPF 程序升级授权、铸币授权等。 要使用，必须首先创建一个Multisig帐户，并指定两个重要参数： 所有者——为多重签名签署交易的地址集。 阈值——执行交易所需的签名者数量。 一旦Multisig创建了帐户，就可以创建一个Transaction 帐户，并指定正常 solana 交易的参数。 为了签署，所有者应该调用批准指令，最后，一旦有足够多（即阈值）的所有者签署，就调用执行交易 (execute_transaction)。

Docker部署思源笔记Web版
type: item
date: 2025-04-16T09:43:52+08:00
description: docker-compose.yml version: "3.9" services: main: image: b3log/siyuan command: ['--workspace=/siyuan/workspace', '--accessAuthCode=652511569'] ports: - 6806:6806 volumes: - /mnt/nvme0n1-4/docker/volumes/siyuan:/siyuan/workspace restart: unless-stopped environment: - TZ=${TimeZone} - PUID=1000 - PGID=1000 docker-compose up -d 参考 https://blog.csdn.net/u013564470/article/details/143799184 https://blog.imbhj.com/archives/Ims5hvFf https://hub.docker.com/r/b3log/siyuan https://github.com/siyuan-note/siyuan/blob/master/README_zh_CN.md

雷池WAF版本升级步骤
type: item
date: 2025-04-15T11:09:17+08:00
description: 雷池分为国内和海外两个版本 国内 https://docs.waf-ce.chaitin.cn/zh/%E4%B8%8A%E6%89%8B%E6%8C%87%E5%8D%97/%E5%8D%87%E7%BA%A7%E9%9B%B7%E6%B1%A0 在线升级 bash -c "$(curl -fsSLk https://waf-ce.chaitin.cn/release/latest/manager.sh)" 如果镜像pull超时可以尝试离线安装 mv compose.yaml compose.yaml.old wget "https://waf-ce.chaitin.cn/release/latest/compose.yaml" --no-check-certificate -O compose.yaml sed -i "s/IMAGE_TAG=.*/IMAGE_TAG=latest/g" ".env" grep "SAFELINE_DIR" ".env" > /dev/null || echo "SAFELINE_DIR=$(pwd)" >> ".env" grep "IMAGE_TAG" ".env" > /dev/null || echo "IMAGE_TAG=latest" >> ".env" grep "MGT_PORT" ".env" > /dev/null || echo "MGT_PORT=9443" >> ".env" grep "POSTGRES_PASSWORD" ".env" > /dev/null || echo "POSTGRES_PASSWORD=$(LC_ALL=C tr -dc A-Za-z0-9 </dev/urandom | head -c 32)" >> ".env" grep "SUBNET_PREFIX" ".env" > /dev/null || echo "SUBNET_PREFIX=172.22.222" >> ".env" grep "IMAGE_PREFIX" ".env" >/dev/null || echo "IMAGE_PREFIX=chaitin" >>".env" grep "ARCH_SUFFIX" ".env" >/dev/null || echo "ARCH_SUFFIX=" >>".env" grep "RELEASE" ".env" >/dev/null || echo "RELEASE=" >>".env" 下载镜像包 https://demo.waf-ce.chaitin.cn/image.tar.gz 启动 docker compose down --remove-orphans docker compose up -d 海外 如果部署服务器在海外，可以尝试，海外部署步骤 https://docs.waf.chaitin.com/en/GetStarted/Upgrade bash -c "$(curl -fsSLk https://waf.chaitin.com/release/latest/manager.sh)" -- --en 目前官方没有提供海外的镜像离线包，仅支持在线升级 注意 如果之前是使用国内的安装步骤，想切换为海外镜像，需要修改 .env文件，中的IMAGE_PREFIX IMAGE_PREFIX=chaitin

私有链化部署Squads Protocol
type: item
date: 2025-04-10T21:17:50+08:00
description: 前期调研 目前v3已经停止升级，优先使用v4版本 Squads-Protocol 官方app.squads.so前端不开源，只开源了精简版本 squads-backup-kit squads-backup-kit 前端不支持创建，只支持管理已有多签账户地址 首次创建可以使用Squads CLI进行创建 v4程序地址：SQDS4ep65T869zMMBKyuUq6aD6EgTu8psMjkvj52pCf squads-backup-kit GitHub：https://github.com/Squads-Protocol/public-v4-client 在线地址：https://backup.app.squads.so/ Squads CLI 使用 https://docs.squads.so/main/development/cli/installation https://docs.squads.so/main/development/cli/commands 创建keypair mkdir squads-multisig cd squads-multisig solana-keygen new -o ./keypair-multisig.json solana-keygen new -o ./keypair-1.json solana-keygen new -o ./keypair-2.json solana-keygen new -o ./keypair-3.json 生成测试账户地址 89CefQR7XpdSKsDAFMZVUu3ipqiW35BceuahoE8CiAxz 56uqkuNMGsozcYDuzKfkqUEPqDLQfXRncvoH73xHzHnt G3YLqbreJj1spvBMajv8qgPXVzZ1WaN34LDn7ChFdAPY Hj3KcgcuvcHRM9or6SbuLuTV8Xe5pDttKk3nQSXzP65d 分别给上面4个账户地址转1SOL,为后面演示 2/3多签测试做准备 创建多重签名 squads-multisig-cli multisig-create --rpc-url <RPC_URL> --program-id <PROGRAM_ID> --keypair <KEYPAIR_PATH> --config-authority <CONFIG_AUTHORITY> --members <MEMBER_1> <MEMBER_2> ... --threshold <THRESHOLD> multisig-create参数 --rpc-url ：（可选）Solana RPC 端点的 URL。如果未指定，则默认为主网。 --program-id ：（可选）多重签名程序的 ID。如未指定，则默认为标准 ID。 --keypair ：密钥对文件的路径。 --config-authority ：（可选）程序配置机构的地址。 --members <MEMBER_...>：成员公钥列表，以空格分隔。 --threshold ：执行多重签名交易所需的签名阈值数量。 测试创建 squads-multisig-cli multisig-create --rpc-url https://api.devnet.solana.com --program-id SQDS4ep65T869zMMBKyuUq6aD6EgTu8psMjkvj52pCf --keypair ./keypair-multisig.json --members 56uqkuNMGsozcYDuzKfkqUEPqDLQfXRncvoH73xHzHnt,7 --members G3YLqbreJj1spvBMajv8qgPXVzZ1WaN34LDn7ChFdAPY,7 --members Hj3KcgcuvcHRM9or6SbuLuTV8Xe5pDttKk3nQSXzP65d,7 --threshold 2 threshold为2，则代表 2/3通过 权限是数字，映射到以下内容： 提议人 -1 投票人 -2 执行人 -4 上述所有的 -7 或者任何权限组合（即提议者和投票者3） 例如 --members FcBpwMquaMURbYwpRFUrBrYgFwJzfWiBEGfHLbik1Wsm,7 执行命令后返回 https://solscan.io/tx/XRFQkd2HN4mFoQvKa2FUdKYr2WkETZmxAYbCkM87VjxFDBgUWCEQYEixPcodpQtu1kv8cVgu1MP5pQpcU995U9A?cluster=devnet You're about to create a multisig, please r…