ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

TokenScript到底是什么?AlphaWallet如何让普通代币变身“智能代币“(附FIFA链上门票案例)

TokenScript到底是什么?AlphaWallet如何让普通代币变身“智能代币“(附FIFA链上门票案例) TokenScript到底是什么AlphaWallet如何让普通代币变身智能代币附FIFA链上门票案例【免费下载链接】alpha-wallet-androidAn advanced Ethereum mobile wallet项目地址: https://gitcode.com/gh_mirrors/al/alpha-wallet-androidAlphaWallet 是一款高级以太坊移动钱包An advanced Ethereum mobile wallet它最出名的杀手级功能是TokenScript一种用 XML 描述代币的脚本语言能让钱包把链上的普通代币渲染成带按钮、带界面、能一键兑换的智能代币。本文带你从零看懂 TokenScript 是什么并用仓库里的 FIFA 链上门票案例说明它是如何落地的。一、TokenScript 到底是什么一句话TokenScript 是一套代币说明书标准。普通代币在钱包里只是一串地址和余额用户不知道它能干什么。TokenScript 让代币发行方用一份 XML 文件告诉钱包这个代币叫什么名字支持多语言比如中文直接叫入場券它对应哪个合约、哪些链卡片上该显示什么场馆、时间、座位……点击后能执行什么操作兑换、签到、跳转链接……钱包读到这份说明书后代币就从一坨数字变成了有界面、有交互的智能代币。项目里的官方讲解文档在 tokenscript_explaination.html可以直接在应用内查看。二、AlphaWallet 是如何实现的整个流程可以概括为 4 步对应代码模块都很清晰1️⃣ 用 XMLTSMML描述代币发行方编写一份.tsml文件。以仓库测试样例 fifa.tsml 为例它声明了 ERC-875 合约地址、代币的多语言名称并用 XHTML CSS JavaScript 直接写出了门票卡片的完整界面。2️⃣ 钱包解析脚本并验证真伪核心解析逻辑在共享库模块中XML 解析与合约信息提取TokenDefinition.java脚本下载、更新与本地管理AssetDefinitionService.java为了防伪造AlphaWallet 还支持AttestationXML 数字签名发行方用私钥对脚本签名钱包验证签名后才信任。相关代码见 Attestation.java 和测试样例 EntryToken-valid-RSA.tsml。3️⃣ 普通代币变身富界面卡片解析后的脚本会被渲染成代币卡片。EntryToken.tsml 这个样例里代币卡片甚至内置了一张图片、一段欢迎文案还能按已过期自动分组显示——这些在原生钱包里都是需要改 App 代码才能实现的功能现在一份 XML 就够了。4️⃣ 一键调用合约函数脚本里定义的动作Action会让钱包自动生成按钮。用户点一下钱包自动组装交易、弹签名确认页完成链上操作。执行界面与 JS 视图渲染见 TokenScriptJsActivity.java。三、案例拆解FIFA 链上门票 仓库中的 fifa.tsml 是最经典的教学案例它展示了完整的智能门票形态能力在 fifa.tsml 中的体现多语言名称英文 Ticket / 西班牙语 Boleto de admisión / 中文 入場券合约绑定ERC-875 标准合约网络 1地址 0xA66A...2335富卡片视图内嵌 CSS 样式的票面布局展示国家、日期、时间、场馆、票档动态内容用 JavaScript 解析链上时间戳格式化渲染比赛时间也就是说一张球票从链上的一串 tokenId变成了钱包里一张有背景图案、有场次信息、可交互的电子票全程不需要升级 App——因为规则都写在脚本里钱包随时热更新即可生效。四、在 App 里哪里能看到 TokenScriptTokenScript 管理页查看、管理已加载的脚本入口代码 TokenScriptManagementActivity.java代币详情页 / NFT 详情脚本定义的属性与按钮直接呈现在 TokenDetailActivity.java 等界面设置中的 TokenScript 开关可以在高级设置里启停脚本功能项目整体分为 4 个模块各模块职责见 docs/overview.md模块职责app/钱包 App 主程序UI、交易、脚本管理lib/共享库XML 解析、Universal Link 等dmz/公网 DMZ 服务展示 Universal Link 落地页util/桌面端生成 Universal Link 的辅助工具五、写在最后TokenScript 的精髓在于把界面和交互从 App 里挪到了链上脚本中发行方更新 XML全球用户的钱包自动跟着升级无需发版。这也是 AlphaWallet 被称为高级以太坊钱包的根本原因。想亲手体验clone 仓库后即可在 lib/src/test/ts/ 目录下找到全部示例脚本DAI、EntryToken、FIFA对照上文四个步骤阅读一个下午就能理解整套机制。【免费下载链接】alpha-wallet-androidAn advanced Ethereum mobile wallet项目地址: https://gitcode.com/gh_mirrors/al/alpha-wallet-android创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表