问题标签 [solana]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1263 浏览

macos - Rust、OpenSSL、solana-test-validator 库未加载问题

我在 Mac(M1) Big Sur 11.4,Homebrew 版本 3.2,OpenSSL@1.1

我尝试在他们的README中运行 solanar-test-validator ,我用 homebrew 安装 open ssl 然后我链接了 openssl

当我运行 solana validate 时,出现错误

在此处输入图像描述

0 投票
4 回答
2518 浏览

ecdsa - 无法验证由 sol-wallet-adapter 签名的消息

创建签名消息后,我不确定如何使用生成的签名来使用 publicKey 验证消息。

我的用例是,我想使用 Solana 钱包登录 API 服务器,其模式如下:

  1. GET message: String (from API server)
  2. sign message with privateKey
  3. POST signature (to API server)
  4. verify signature with stored publicKey

我尝试使用 nodeJScrypto.verify来解码 API 端的签名消息,但是我对缓冲区和椭圆曲线的深入挖掘有点超出了我的深度:

我很确定我会以错误的方式解决这个问题,并且一定有一个明显的方法我错过了。

随着空间的成熟,我希望验证函数或库似乎会消耗const signed = await wallet.sign(data, "hex");

就像是:

但是经过 3 天的努力,我开始达到我的极限,我的大脑正在衰竭。非常感谢任何帮助或方向

0 投票
1 回答
627 浏览

solana - Solana 注册机公钥不匹配

我正在运行 solana-keygen 工具,但对其输出感到困惑。我的印象是第一个命令输出的 pubkey 应该与使用第二个命令重新创建的相同。但它们是不同的。第一个代表什么?

0 投票
1 回答
634 浏览

solana - 如何获取在与@solana/web3.js 的交易中转移的自定义令牌数量?

我想获取使用带有@solana/web3.js 的交易签名传输的自定义令牌的数量。我该怎么做?

先感谢您。

0 投票
1 回答
9703 浏览

solana - 我想知道导致 solana 传输错误

我的令牌发送程序遇到了发送事务的问题,在下面抛出错误。

错误:发送交易失败:交易模拟失败:错误处理指令0:自定义程序错误:0x1

它与溶胶平衡有关。我想知道是什么导致了这个问题。是因为发送方的溶胶少吗?或者我想知道是不是因为收件人的溶胶少

0 投票
2 回答
1197 浏览

serialization - Solana Rust 程序 HashMap

我正在尝试将以太坊 DeFi 合约移植到 Solana 的 Rust 程序中......我已经了解了如何在程序的帐户数据中保存结构或数组,但仍然不知道如何保存 HashMap<address in string, amount in u64>进入程序的帐户数据...然后如何读取此 HashMap 的值,例如检查每个地址的质押金额。请帮忙。谢谢!

我的 Solana Rust 程序:

0 投票
0 回答
91 浏览

rust - 如何防止“锚构建”自动更新 Cargo.lock?

我正在使用它的 repo来关注本教程。运行后,我注意到一些文件已添加/更新,因此我无法再提取 repo。我尝试通过删除目标文件夹并删除、和.anchor buildpackage.jsonyarn.locknode_modules

然后我发现,每当我撤消更改Cargo.lock(位于存储库根目录的更改)时,它都会自行添加更改,就好像它拒绝恢复到存储库的提交版本一样!

为什么?我怎样才能做到这一点?

0 投票
1 回答
795 浏览

docker - 在 localhost 上将程序部署到 solana 的问题

我正在尝试将一些程序部署到我当地的 solana 并且我坚持这个

我将使用本教程 https://smith-mcf.medium.com/a-simple-solana-dapp-tutorial-6dedbdf65444

当我使用. start_docker

当我localhost:8899在 chrome 中运行时,响应“不允许使用使用的 HTTP 方法。需要 POST 或 OPTIONS”

我需要说我对 docker 完全是新手,但教程需要它。

0 投票
1 回答
3678 浏览

rust - rust solana 构建错误:没有这样的子命令:+bpf

我是 solana 和 rust 的新手,最近我从这个 repo 安装了他们的 example-helloworld - https://github.com/solana-labs/example-helloworld。每当我尝试使用 npm 脚本构建 rust 程序或进入 rust 程序目录手动运行cargo build-bpf时,它都会显示 - 没有这样的子命令:+bpf。终端错误图像

我也尝试了cargo-build-bpf的命令,它没有错误。但是我也尝试使用cargo build手动构建,它会引发错误。

0 投票
1 回答
1647 浏览

javascript - 什么是用于创建程序可用于执行合同付款的转账账户的 Solana 模式?

我正在尝试处理我的 solana 合同中的交易。我似乎应该这样做的方式是使用createAccountWithSeed生成由程序(8DqELvN5TFeMtNJciUYvGqso2CyG5M6XNWxh3HRr3Vjv)和付款人拥有的转账账户。因此,我创建了新的转账账户以发送到 solana 程序处理器以执行交易。但是当我将转账账户传递给我的 Rust 程序时,check_account_owner声明该账户归系统程序 (11111111111111111111111111111111) 而不是我的程序所有。

所以我的问题有两个:

  • 这是在这种情况下使用的正确模式吗?
  • 如果是,我如何创建一个程序和付款人都可以执行的帐户?

这是客户端中的 JS createAccountWithSeed

这是试图进行转移的 Rust 代码。

错误日志状态: