目前不清退的交易所推荐:
1、全球第二大交易所OKX欧意
国区邀请链接: https://www.webgmfrexc.com/join/1837888 币种多,交易量大!
国际邀请链接:https://www.okx.com/join/1837888 注册简单,币种多,交易量大!操作简单安全!
2、全球最大交易所币安
国区邀请链接:https://accounts.maxweb.red/zh-CN/register?ref=16003031 支持86手机号码,直接注册。
国际邀请链接:https://accounts.binance.com/zh-CN/register?ref=16003031开放注册了,国人实测能用!
3、老牌交易所比特儿现改名叫芝麻开门
国区邀请链接:https://www.gatexx.net/share/xgrdaq8
注册成功之后务必在网页端完成 手机号码绑定,推荐在APP端实名认证初级+高级更方便上传。网页端也可以实名认证。
国际邀请链接:https://www.gate.io/signup/XgRDAQ8?ref_type=103
推荐在WEB端实名认证初级+高级更方便上传
4、火必所有用户现在可用了,但是要重新注册账号火币地址:https://www.huobi.com
币安最新国区域名,哪个能用用哪个,网页,手机APP都行。
买好币上KuCoin:https://www.kucoin.com/r/af/1f7w3CoinMarketCap前五的交易所,注册友好操简单快捷!
Bybit最高 $1,020 等您领取 $20 体验金和价值最高 $1,000 的福利卡:https://partner.bybit.com/b/49808
新老币种都会在这上线,尤其是最新的币种上线比较快!:https://www.mexc.com/register?inviteCode=12BCCf
5、Bitget:https://partner.niftah.cn/bg/5KYK6H
目前不清退的交易所推荐:
1、全球第二大交易所OKX欧意
国区邀请链接: https://www.webgmfrexc.com/join/1837888 币种多,交易量大!
国际邀请链接:https://www.okx.com/join/1837888 注册简单,币种多,交易量大!操作简单安全!
2、全球最大交易所币安
国区邀请链接:https://accounts.maxweb.red/zh-CN/register?ref=16003031 支持86手机号码,直接注册。
国际邀请链接:https://accounts.binance.com/zh-CN/register?ref=16003031开放注册了,国人实测能用!
3、老牌交易所比特儿现改名叫芝麻开门
国区邀请链接:https://www.gatexx.net/share/xgrdaq8
注册成功之后务必在网页端完成 手机号码绑定,推荐在APP端实名认证初级+高级更方便上传。网页端也可以实名认证。
国际邀请链接:https://www.gate.io/signup/XgRDAQ8?ref_type=103
推荐在WEB端实名认证初级+高级更方便上传
4、火必所有用户现在可用了,但是要重新注册账号火币地址:https://www.huobi.com
币安最新国区域名,哪个能用用哪个,网页,手机APP都行。
买好币上KuCoin:https://www.kucoin.com/r/af/1f7w3CoinMarketCap前五的交易所,注册友好操简单快捷!
Bybit最高 $1,020 等您领取 $20 体验金和价值最高 $1,000 的福利卡:https://partner.bybit.com/b/49808
新老币种都会在这上线,尤其是最新的币种上线比较快!:https://www.mexc.com/register?inviteCode=12BCCf
5、Bitget:https://partner.niftah.cn/bg/5KYK6H
SDK 快速入门
1. 安装 Nexus zkVM
首先,安装 Rust:Rust 安装说明(在新选项卡中打开).
此外,请确保您有CMAKE(在新选项卡中打开).
接下来,安装 RISC-V 目标:
rustup target add riscv32i-unknown-none-elf然后,安装 Nexus zkVM:
cargo install --git https://github.com/nexus-xyz/nexus-zkvm cargo-nexus --tag 'v0.2.4'验证安装:
cargo nexus --help这应该会打印可用的 CLI 命令。
2. 创建新的 Nexus 主机项目
要以编程方式使用 zkVM,我们需要两个程序:一个运行在 zkVM 上的来宾程序,以及一个运行 zkVM 本身的主机程序。
在 nexus-zkvm 签出的某个地方,运行:
cargo nexus host nexus-host这将创建一个具有以下结构的新 Rust 项目目录:
./nexus-host├── Cargo.lock├── Cargo.toml└── src    └── main.rs    └── guest        └── Cargo.toml        └── rust-toolchain.toml        └── src            └── main.rs这里,是我们的主持人节目,而 是我们的嘉宾节目。./src/main.rs./src/guest/src/main.rs
例如,您可以将 的内容更改为:./src/guest/src/main.rs
#![cfg_attr(target_arch = "riscv32", no_std, no_main)] use nexus_rt::{println, read_private_input, write_output}; #[nexus_rt::main]fn main() {    let input = read_private_input::<(u32, u32)>();     let mut z: i32 = -1;    if let Ok((x, y)) = input {        println!("Read private input: ({}, {})", x, y);         z = (x * y) as i32;    } else {        println!("No private input provided...");    }     write_output::<i32>(&z)}此来宾程序尝试从输入磁带中读取两个整数,记录它们是否存在,如果存在,则返回其产品。
然后,将 的内容更改为:./src/main.rs
use nexus_sdk::{    compile::CompileOpts,    nova::seq::{Generate, Nova, PP},    Local, Prover, Verifiable,}; type Input = (u32, u32);type Output = i32; const PACKAGE: &str = "guest"; fn main() {    println!("Setting up Nova public parameters...");    let pp: PP = PP::generate().expect("failed to generate parameters");     let mut opts = CompileOpts::new(PACKAGE);    opts.set_memlimit(8); // use an 8mb memory     println!("Compiling guest program...");    let prover: Nova<Local> = Nova::compile(&opts).expect("failed to compile guest program");     let input: Input = (3, 5);     print!("Proving execution of vm...");    let proof = prover        .prove_with_input::<Input>(&pp, &input)        .expect("failed to prove program");     println!(        " output is {}!",        proof            .output::<Output>()            .expect("failed to deserialize output")    );     println!(">>>>> Logging\n{}<<<<<", proof.logs().join("\n"));     print!("Verifying execution...");    proof.verify(&pp).expect("failed to verify proof");     println!("  Succeeded!");}此主机程序使用自定义内存限制编译来宾程序,然后调用生成的二进制文件作为 input。(3, 5)
然后,zkVM 将运行 guest 程序并生成其正确执行的证明。
证明完成后,主机程序从输出磁带上读取输出并将其与任何日志一起打印出来,然后验证证明。
3. 运行您的程序
cargo run -r请注意,我们使用 ,而不是 。我们的主机程序只是一个普通的 Rust 程序,而用于从命令行执行客户程序。cargo runcargo nexus runcargo nexus run
您应该会看到主机程序打印:
Setting up Nova public parameters...Proving execution of vm... output is 15!>>>>> LoggingRead private input: (3, 5)<<<<<Verifying execution...  Succeeded!如果要从命令行执行 guest 程序,可以导航到并使用命令来执行此操作。./src/guestcargo nexus
4. 其他主机程序选项
有几种方法可以配置 guest 程序的运行和验证方式。也许最重要的是,SDK 支持两个替代证明器:HyperNova 和 Jolt。
要使用 HyperNova,只需使用上面的示例,在程序中替换 。novahypernova
Jolt 支持是实验性的,特别是目前不允许在 guest 程序中输入、输出、日志记录或断言。您可以使用像
#![no_std]#![no_main] fn fib(n: u32) -> u32 {    match n {        0 => 0,        1 => 1,        _ => fib(n - 1) + fib(n - 2),    }} #[nexus_rt::main]fn main() {    let n = 10;    let result = fib(n);    core::hint::black_box(result);}以及一个主机程序(如
use nexus_sdk::{compile::CompileOpts, jolt::Jolt, Local}; const PACKAGE: &str = "guest"; fn main() {    let opts = CompileOpts::new(PACKAGE);     // defaults to local proving    let prover: Jolt<Local> = Jolt::compile(&opts).expect("failed to load program");     println!("Proving execution of vm...");    let proof = prover.prove().expect("failed to prove program");     print!("Verifying execution...");    proof.verify().expect("failed to verify proof");     println!("  Succeeded!");}要查看使用 SDK 的更多示例,请查看examples 文件夹(在新选项卡中打开).
 Autonomys 中文社区
Autonomys 中文社区








