', async () => { await program.rpc.create({ accounts: { counterAccount: counterAccount.publicKey, user: provider.wallet.publicKey, systemProgram: anchor.web3.SystemProgram.programId, }, signers: [counterAccount] } as any)}); it("Increment counter", async () ...
在Linux 上,可以通过 npm 软件包 @coral-xyz/anchor-cli 获取 Anchor 二进制文件。目前,仅支持x86_64Linux。因此,对于其他操作系统,开发人员必须从源代码构建。开发人员可以使用 Cargo 直接安装 CLI。例如: cargo install --git https://github.com/coral-xyz/anchor --tag v0.29.0 anchor-cli --locked Selec...
use anchor_lang::prelude::*;#[program]mod my_program {use super::*;#[state]pub struct MyProgram {}impl MyProgram {#[access_control(Admin)]pub fn hello_world(&mut self, ctx: Context<Admin>, msg: String) -> ProgramResult {println!("Hello World: {}", msg);Ok(())}}} 在上面的...
const program = anchor.workspace.Counterapp as Program<Counterapp>; const counterAccount = anchor.web3.Keypair.generate(); it('Is initialized!', async () => { await program.rpc.create({ accounts: { counterAccount: counterAccount.publicKey, user: provider.wallet.publicKey, systemProgram: anch...
anchor 是个写solana合约的框架。不用anchor也可以写solana合约, 但是需要有丰富的经验才能规避很多坑和安全漏洞, 并且开发的过程需要自己写很多繁琐的代码。 安装: 我们跟着官方文档安装(https://book.anchor-lang.com) sudo apt-get update && sudo apt-get upgrade && sudo apt-get install -y pkg-confi...
生产中许多项目采用 Anchor 框架 而以太坊智能合约主要用 Solidity 语言开发(语法和 javascript 类似,代码文件以 .sol 为扩展名)。由于语法相对简单以及开发工具更加成熟(Hardhat 框架、Remix IDE ...)通常我们认为以太坊的开发体验更简单爽快,而 Solana 开发的上手难度高。所以尽管现在 Solana 的热度很高,事实上以太...
anchor.setProvider(anchor.AnchorProvider.env()); const program = anchor.workspace.SaDemo as Program<SaDemo>; it("check sign", async () => { console.log("custom deployer: ", anchor.getProvider().publicKey.toBase58()) const msg1 = "abcdefg"; ...
In Anchor script: await program.rpc.withdrawUsdc( amt2, nonce, { accounts: { programSigner, authority: userKeys.publicKey, usdcMint, usdcUser, usdcPgid, dogeMint, dogeUser, dogePgid, tokenProgram: TOKEN_PROGRAM_ID, systemProgram: anchor.web3.SystemProgram.programId, }, signers:...
首先,我们需要创建一个新的 Anchor 项目: 复制 anchorinitcounterapp 1. 您应该会在项目结构中看到以下文件和文件夹: program:智能合约所在的目录或位置 test:Javascript测试代码 migrations:启动脚本 app:前端应用程序构建目录 现在,让我们从程序目录中找到lib.rs文件。
如果想调试我们的程序,最好使用msg!()来记录我们想要检查的任何值。它接受字符串,所以我们必须使用std::string::ToString来转换。我们的日志将显示在终端或.anchor/program-logs/ 中。 该creator数组需要有铸造 NFT 的人作为其中的一部分,但我们可以将份额设置为 0,所以这并不重要。以下是代码: ...