You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在NEAR智能合约中高效验证ed25519签名?

NEAR智能合约Ed25519签名验证问题解答

1. 是否可在智能合约中验证Ed25519签名?

可以,但不推荐直接使用未做针对性优化的第三方库,官方提供了更高效的验证方案。

2. 使用ed25519-dalek crate验证签名Gas成本高的原因?

ed25519-dalek是通用的Ed25519加密实现,没有针对NEAR虚拟机的Gas模型做优化。其底层加密运算在NEAR WASM环境中执行时,会触发大量高Gas消耗的计算操作,导致整体验证成本过高。

3. NEAR是否提供验证Ed25519签名的官方方法?

是的,NEAR官方在near_sdk中提供了env::verify_ed25519_signature函数,专门用于Ed25519签名验证,和ecrecover的定位类似,且经过深度Gas优化,效率远高于第三方库。

示例代码:

use near_sdk::{env, near_bindgen};

#[near_bindgen]
pub struct MyContract;

#[near_bindgen]
impl MyContract {
    pub fn validate_ed25519_signature(&self, msg: &[u8], sig: &[u8], pk: &[u8]) -> bool {
        env::verify_ed25519_signature(msg, sig, pk)
    }
}

该函数由NEAR Runtime直接处理,避免了WASM层的冗余计算,能大幅降低Gas消耗。


内容的提问来源于stack exchange,提问作者SolDev

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.18 16:52:08