news 2026/10/8 7:18:02

如何自部署PMXT本地服务器:pmxt-core私钥自管模式的Step-by-Step部署教程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
如何自部署PMXT本地服务器:pmxt-core私钥自管模式的Step-by-Step部署教程

如何自部署PMXT本地服务器:pmxt-core私钥自管模式的Step-by-Step部署教程

【免费下载链接】pmxtCCXT for prediction markets. PMXT is a unified API for trading on Polymarket, Kalshi, and more.项目地址: https://gitcode.com/gh_mirrors/pm/pmxt

PMXT(PMXT = CCXT for prediction markets)是预测市场的统一交易 API,一套接口同时覆盖 Polymarket、Kalshi、Limitless 等主流平台。本文手把手教你自部署 PMXT 本地服务器:通过开源组件pmxt-core在本地拉起 Sidecar 服务,交易私钥全程留在自己机器上(私钥自管模式),不经过任何第三方托管,适合对延迟和资产安全有要求的进阶用户。

一句话理解:不用pmxt_api_key时,SDK 会自动在你本机启动pmxt-core(默认http://localhost:3847),你的代码直接和交易所 API 通信,PMXT 服务器永远看不到你的私钥。

自部署 vs 托管:先判断哪种模式适合你

选择自部署,如果命中以下任意一条:

  • ⚡追求极致延迟—— 本地下单少一跳网络,适合套利 / 做市等低延迟策略;
  • 🔑需要原生凭证—— Polymarket L2 API key、Kalshi RSA 密钥对、Smarkets 会话凭证,托管模式不接受这些;
  • 🏦合规托管要求—— 你必须作为直接对手方,托管链路不能有中间人;
  • 🛠想二次开发—— 直接基于pmxt-core源码做定制。

否则(普通查询、研究脚本、非延迟敏感应用),托管模式更省事,不需要本地进程。

部署架构:本地到底跑的是什么

自部署模式的核心在 core/src/server/index.ts:

  • SDK 首次调用时,自动把pmxt-core作为子进程拉起,并等待健康检查通过;
  • 默认监听3847端口(由 core/src/server/utils/port-manager.ts 自动寻找可用端口),生成随机访问令牌写入锁文件;
  • 之后的请求复用同一进程,多交易所客户端共享这一个本地服务。

也就是说:没有独立二进制要手动管理,SDK 安装时已捆绑pmxt-core。

Step 1:安装 SDK(pmxt-core 已内置)

选择你熟悉的语言,一行命令完成:

# Python pip install pmxt
# TypeScript npm install pmxtjs

装完即可——pmxt-core随 SDK 一起打包,无需单独下载或 clone。

Step 2:无 API Key 构造客户端,自动拉起本地服务器

关键动作只有一个:构造交易所客户端时不传pmxt_api_key。SDK 检测到缺失后自动 spawn 本地服务器:

import pmxt # 不传 API key → SDK 自动在本机启动并监管 pmxt-core poly = pmxt.Polymarket() markets = poly.fetch_markets(query="election", limit=3)
import { Polymarket } from "pmxtjs"; const poly = new Polymarket({}); // 无 pmxtApiKey → 本地自部署模式 const markets = await poly.fetchMarkets({ query: "election", limit: 3 });

首次调用会短暂阻塞等待本地服务器预热,后续调用全部复用同一进程。

Step 3:配置私钥自管凭证(核心环节)

自部署模式解锁了全部原生凭证入口——直接把密钥传给对应交易所的构造器:

交易所凭证类型示例参数
Polymarket / Limitless / Probable / OpinionEVM 私钥private_key="0x..."
KalshiRSA 密钥对api_key_id+private_key_pem
Smarkets邮箱 + 密码email+password
BaoziSolana 密钥对private_key="<base58>"
import pmxt # Polymarket:EVM 私钥自管 poly = pmxt.Polymarket(private_key="0xYourPrivateKey...") order = poly.create_order( outcome=market.yes, side="buy", order_type="limit", price=0.42, amount=100, ) # Kalshi:RSA 私钥自管(完整获取流程见 [core/docs/SETUP_KALSHI.md](https://link.gitcode.com/i/49b3b951018a89f03e36d01a4e73a912)) kalshi = pmxt.Kalshi( api_key_id="...", private_key_pem="-----BEGIN RSA PRIVATE KEY-----\n...", ) # Smarkets:邮箱密码登录 smarkets = pmxt.Smarkets(email="you@example.com", password="...")

以 Polymarket 为例,私钥从 MetaMask 导出的流程(截图来自 core/docs/SETUP_POLYMARKET.md):账户菜单 → Account Details → Reveal Private Key。

📌安全习惯:对使用资金管控私钥的交易所(Polymarket、Limitless、Probable、Opinion、Baozi),建议该钱包里只放当前实际交易的流动资金,私钥自管的最大收益就是把风险敞口降到最低。

Step 4:本地服务器生命周期管理

需要手动控制时,用 SDK 的server命名空间(TypeScript 实现见 sdks/typescript/pmxt/server-manager.ts):

import pmxt pmxt.server.start() # 启动(幂等,重复调用无副作用) pmxt.server.health() # 健康检查,返回 bool pmxt.server.status() # 结构化状态快照 pmxt.server.stop() # 停止 pmxt.server.restart() # 重启 pmxt.server.logs(20) # 查看最近 20 行日志

大多数用户无需调用——创建交易所实例时会自动完成启动与监管。

Step 5:常用环境变量调优

变量作用
PMXT_LOCAL_PORT=3847覆盖本地服务端口(默认3847)
PMXT_ALWAYS_RESTART=1每次确保服务运行时强制重启,开发调试期很有用
PMXT_BASE_URL把 SDK 指向自定义服务器地址(高级用法)

多交易所场景下无需额外配置:一个pmxt-core进程即可服务所有场地,多个客户端共享同一本地服务。

poly = pmxt.Polymarket(private_key="0x...") kalshi = pmxt.Kalshi(api_key_id="...", private_key_pem="...") # 两者复用同一个 http://localhost:3847 上的 pmxt-core 进程

自部署模式的功能取舍(提前知道)

  • 🔍Router 跨场地搜索:仍可跨场地交易匹配,但全目录搜索依赖托管目录,可另建一个带pmxt_api_key的Router客户端与本地交易客户端并存;
  • 🧯错误体系:能捕获父级错误(InvalidOrder、InsufficientFunds),只是少了几类托管细分错误,按父级捕获即可保持代码可移植。

常见问题速查

Q:本地服务器是常驻进程吗?默认不是——由 SDK 按需拉起并监管,进程随会话管理;生产环境若想要常驻,可将pmxt-core作为长期进程交给 systemd 托管(详见 core/docs 下的 Self-hosted 指南)。

Q:忘记配 API Key 会有影响吗?不会——正是"忘记"才触发自部署:无 key 即本地模式,有 key 即托管模式,SDK 自动路由。

Q:端口被占用怎么办?pmxt-core会调用 PortManager 从 3847 起自动寻找可用端口,并用锁文件(见 core/src/server/utils/lock-file.ts)避免多实例冲突,一般无需干预。

小结

步骤动作关键要点
1安装 SDKpip install pmxt/npm install pmxtjs
2无 key 构造客户端SDK 自动拉起本地pmxt-core
3传入原生凭证私钥自管,全程不出本机
4pmxt.server.*启动/停止/重启/日志
5环境变量端口、强制重启、自定义地址

更多官方文档可参考:docs/guides/self-hosted.mdx、docs/sdk/server.mdx、docs/authentication.mdx。

【免费下载链接】pmxtCCXT for prediction markets. PMXT is a unified API for trading on Polymarket, Kalshi, and more.项目地址: https://gitcode.com/gh_mirrors/pm/pmxt

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/8 7:17:10

药品感冒药999感冒灵检测数据集实战:VOC转YOLO与训练避坑指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华
网站建设 2026/10/8 7:16:35

德国行李托运回国靠谱公司怎么选

我身边不少从德国回来的朋友&#xff0c;都吐槽过行李托运的糟心事&#xff1a;扔了半箱家当可惜&#xff0c;自己扛着转机太累&#xff0c;找个托运公司还容易踩坑。这几年中德往来越来越频繁&#xff0c;留德学生毕业返程、中资企业外派人员任期结束、旅居华侨回国定居、赴德…

作者头像 李华
网站建设 2026/10/8 7:16:20

基于关键词的数据采集、数据分析案例!

目录 一、网民情感分析 二、区域统计分析 三、内容话题分析&#xff1a;什么在驱动讨论&#xff1f; 四、负面问题归因 五、高赞评论与话题链 六、洞察与行动建议 对广州文旅 / 景区 / 商务部门 对内容创作者 / 餐饮商家 给计划去广州的游客 本案例的数据范围&#xf…

作者头像 李华
网站建设 2026/10/8 7:15:40

为什么 C++ 没有像 Python 那样拥有海量开箱即用的库?

C与Python生态差距的本质在于设计哲学差异&#xff1a;C追求零开销抽象与极致性能&#xff0c;导致ABI不稳定、编译模型复杂、二进制分发困难&#xff0c;库需源码编译&#xff0c;使用门槛高&#xff1b;而Python以运行时灵活性和统一接口实现“即插即用”&#xff0c;配合高效…

作者头像 李华
网站建设 2026/10/8 7:15:17

MazeSec-113

信息搜集 端口扫描 ┌──(kali㉿kali)-[~] └─$ nmap -A -p- 192.168.21.7 Starting Nmap 7.99 ( https://nmap.org ) at 2026-10-07 05:38 -0400 Nmap scan report for 192.168.21.7 Host is up (0.00065s latency). Not shown: 65533 closed tcp ports (reset) PORT STAT…

作者头像 李华