当前位置: 首页 > news >正文

做外贸的网站有那些郴州旅游攻略

做外贸的网站有那些,郴州旅游攻略,女子医院网站设计怎么做,电商开店流程及费用跟随HackQuest部署counter项目#xff0c;使用 Solana 官方提供的 playgroud 。这个平台让我们的部署和测试过程变得更加简便高效。 合约代码 lib.rs中复制以下代码 use anchor_lang::prelude::*; use std::ops::DerefMut;declare_id!(CVQCRMyzWNr8MbNhzjbfPu9YVvr97…跟随HackQuest部署counter项目使用 Solana 官方提供的 playgroud 。这个平台让我们的部署和测试过程变得更加简便高效。 合约代码 lib.rs中复制以下代码 use anchor_lang::prelude::*; use std::ops::DerefMut;declare_id!(CVQCRMyzWNr8MbNhzjbfPu9YVvr97onF48Lc9ZwXotpW);#[program] pub mod counter {use super::*;pub fn initialize(ctx: ContextInitialize) - Result() {let counter ctx.accounts.counter.deref_mut();let bump ctx.bumps.counter;*counter Counter {authority: *ctx.accounts.authority.key,count: 0,bump,};Ok(())}pub fn increment(ctx: ContextIncrement) - Result() {require_keys_eq!(ctx.accounts.authority.key(),ctx.accounts.counter.authority,ErrorCode::Unauthorized);ctx.accounts.counter.count 1;Ok(())} }#[derive(Accounts)] pub struct Initializeinfo {#[account(init,payer authority,space Counter::SIZE,seeds [bcounter],bump)]counter: Accountinfo, Counter,#[account(mut)]authority: Signerinfo,system_program: Programinfo, System, }#[derive(Accounts)] pub struct Incrementinfo {#[account(mut,seeds [bcounter],bump counter.bump)]counter: Accountinfo, Counter,authority: Signerinfo, }#[account] pub struct Counter {pub authority: Pubkey,pub count: u64,pub bump: u8, }impl Counter {pub const SIZE: usize 8 32 8 1; }#[error_code] pub enum ErrorCode {#[msg(You are not authorized to perform this action.)]Unauthorized, }交换代码 client.ts中复制以下代码 const wallet pg.wallet; const program pg.program; const counterSeed Buffer.from(counter);const counterPubkey await web3.PublicKey.findProgramAddressSync([counterSeed],pg.PROGRAM_ID );const initializeTx await pg.program.methods.initialize().accounts({counter: counterPubkey[0],authority: pg.wallet.publicKey,systemProgram: web3.SystemProgram.programId,}).rpc();let counterAccount await program.account.counter.fetch(counterPubkey[0]); console.log(account after initializing , Number(counterAccount.count));const incrementTx await pg.program.methods.increment().accounts({counter: counterPubkey[0],authority: pg.wallet.publicKey,}).rpc();counterAccount await program.account.counter.fetch(counterPubkey[0]); console.log(account after increasing , Number(counterAccount.count));部署和发布 切换到左侧工具栏第二个按钮并点击 build点击deploy, 终端出现 “Deployment successful.” 即为部署成功。这大约会消耗2~3个sol 测试交互 切换到左侧第一个文件按钮并点击 Run 运行client.ts文件输出如图 再次执行就会开始报错 Running client… client.ts: Uncaught error: failed to send transaction: Transaction simulation failed: Error processing Instruction 0: custom program error: 0x0 各种求助之后修改初始化代码输出报错日志 try {// Initialize accountconst initializeTx await pg.program.methods.initialize().accounts({counter: counterPubkey,authority: pg.wallet.publicKey,systemProgram: web3.SystemProgram.programId,}).rpc();} catch (error) {console.error(Error fetching counter account:, error);}报错日志如下 logs: [ Program CVQCRMyzWNr8MbNhzjbfPu9YVvr97onF48Lc9ZwXotpW invoke [1],Program log: Instruction: Initialize,Program 11111111111111111111111111111111 invoke [2],Allocate: account Address { address: 8sKt2NcKbN9E2SUE6E3NgfzwGi5ByBZxHQdCw27bMef1, base: None } already in use,Program 11111111111111111111111111111111 failed: custom program error: 0x0,Program CVQCRMyzWNr8MbNhzjbfPu9YVvr97onF48Lc9ZwXotpW consumed 4867 of 200000 compute units,Program CVQCRMyzWNr8MbNhzjbfPu9YVvr97onF48Lc9ZwXotpW failed: custom program error: 0x0 ],programErrorStack: { stack: [ [Object], [Object] ] } }根据日志信息关键的错误是 Allocate: account Address { address: 8sKt2NcKbN9E2SUE6E3NgfzwGi5ByBZxHQdCw27bMef1, base: None } already in use这表示你尝试分配的账户地址 8sKt2NcKbN9E2SUE6E3NgfzwGi5ByBZxHQdCw27bMef1 已经被使用因此无法进行新的初始化。这通常发生在你已经为该地址创建了账户但可能在再次执行时未考虑到这一点。 修改initializeTx代码 let counterAccount; try {counterAccount await program.account.counter.fetch(counterPubkey);console.log(Counter account already exists:, counterAccount); } catch (error) {if (error.message.includes(Account does not exist)) {console.log(Counter account does not exist, proceeding with initialization...);// Initialize accountconst initializeTx await pg.program.methods.initialize().accounts({counter: counterPubkey,authority: pg.wallet.publicKey,systemProgram: web3.SystemProgram.programId,}).rpc();} else {console.error(Error fetching counter account:, error);} }执行结果 修复后完整client.ts代码 const wallet pg.wallet; const program pg.program; const counterSeed Buffer.from(counter);const [counterPubkey, bump] web3.PublicKey.findProgramAddressSync([counterSeed],pg.PROGRAM_ID );let counterAccount; try {counterAccount await program.account.counter.fetch(counterPubkey);console.log(Counter account already exists:, counterAccount); } catch (error) {if (error.message.includes(Account does not exist)) {console.log(Counter account does not exist, proceeding with initialization...);// Initialize accountconst initializeTx await pg.program.methods.initialize().accounts({counter: counterPubkey,authority: pg.wallet.publicKey,systemProgram: web3.SystemProgram.programId,}).rpc();} else {console.error(Error fetching counter account:, error);} }const incrementTx await pg.program.methods.increment().accounts({counter: counterPubkey,authority: pg.wallet.publicKey,}).rpc();counterAccount await program.account.counter.fetch(counterPubkey); console.log(account after increasing , Number(counterAccount.count));
http://www.hkea.cn/news/14320652/

相关文章:

  • 网站建设的公司收费标准技术支持凯里网站建设
  • 唐山网站定制wordpress官方主题哪个好
  • 四川省住房和城乡建设网站自己怎么制作企业网站
  • wordpress网站导出购物商城建设网站
  • 什么网站不用备案泰安营销型网站建设
  • 网站开发的图标网站如何做导航条下拉菜单
  • 郑州那个公司做网站好影城网站建设
  • 西班牙网站后缀网站开发人员注意事项
  • 邹城网站建设哪家好企业建网站
  • 高校网站建设运维体系问题湖南seo优化报价
  • 网站地图如何更新wordpress 注册邮件设置密码
  • 卫生网站建设方案怎样注册一个自己的网站
  • 网站建设招标无锡青岛建设网站设计公司
  • 企业网站设计html代码企业网站 html5
  • 可以做长图的网站无锡网站制作选哪家
  • 茂港手机网站建设公司视频网站怎么做的
  • 建设本地网站 配置iis奢侈品回收
  • 大网站怎样选域名盐城有没有做网站吗
  • 网站策划论坛搜索引擎优化工具有哪些
  • 如何在建设部网站补录项目ui设计师个人网站
  • 网站域名在哪里注册长沙市建设工程集团网站
  • 专业建站提供商拓者吧室内设计网官网
  • 常用网站建设技术南京网站设计公司济南兴田德润简介图片
  • 教外国人做中国菜网站wordpress替换头像
  • 公众号开发中心泉州seo网站关键词优
  • 大连企业网站建设主页去掉wordpress
  • 青羊区定制网站建设报价网站建设春节放假
  • 阿里云建网站费用年轻人免费在线看视频
  • 用自己的计算机做服务器建网站冒用他人公司做网站
  • 网站建设和管理情况临海网站制作