由于某种原因,我的摩卡测试无法找到我的 IDL。我收到以下错误:
name@Mabels-MacBook-Pro solana-anchor-reactjs-payment % anchor test
BPF SDK: /Users/name/.local/share/solana/install/releases/1.9.2/solana-release/bin/sdk/bpf
cargo-build-bpf child: rustup toolchain list -v
cargo-build-bpf child: cargo +bpf build --target bpfel-unknown-unknown --release
Finished release [optimized] target(s) in 0.84s
cargo-build-bpf child: /Users/name/.local/share/solana/install/releases/1.9.2/solana-release/bin/sdk/bpf/dependencies/bpf-tools/llvm/bin/llvm-readelf --dyn-symbols /Users/name/Solana/solana-anchor-reactjs-payment/target/deploy/solana_anchor_reactjs_payment.so
To deploy this program:
$ solana program deploy /Users/name/Solana/solana-anchor-reactjs-payment/target/deploy/solana_anchor_reactjs_payment.so
The program address will default to this keypair (override with --program-id):
/Users/name/Solana/solana-anchor-reactjs-payment/target/deploy/solana_anchor_reactjs_payment-keypair.json
Error: Error loading workspace IDL for solana_anchor_reactjs_payment
at /Users/name/Solana/solana-anchor-reactjs-payment/node_modules/@project-serum/anchor/src/workspace.ts:101:13
at Array.forEach (<anonymous>)
at attachWorkspaceOverride (/Users/name/Solana/solana-anchor-reactjs-payment/node_modules/@project-serum/anchor/src/workspace.ts:90:31)
at Object.get (/Users/name/Solana/solana-anchor-reactjs-payment/node_modules/@project-serum/anchor/src/workspace.ts:71:9)
at Suite.<anonymous> (/Users/name/Solana/solana-anchor-reactjs-payment/tests/payment-test.ts:12:38)
at Object.create (/Users/name/Solana/solana-anchor-reactjs-payment/node_modules/mocha/lib/interfaces/common.js:148:19) …
Run Code Online (Sandbox Code Playgroud) 刚开始使用 Solana 的 Anchor。我刚刚安装了 Anchor 以及 Solana 和 Rust,Solana 和 Rust 已成功安装,但我在使用 Anchor 时遇到了问题。
每当我检查 Anchor 版本或执行 Anchor init 之类的操作时,都会收到一条错误消息,指出安装的 Anchor 版本不正确。
mabeloza@Mabels-MacBook-Pro ~ % anchor --version
Only x86_64 / Linux distributed in NPM package right now.
Trying globally installed Anchor.
Globally installed anchor version is not correct. Expected "anchor-cli 0.18.2", found "anchor-cli 0.18.0".
Run Code Online (Sandbox Code Playgroud)
该错误是不言自明的,我需要 Anchor 版本 0.18.2。问题是这个版本的 Anchor 不存在,如果你查看 github 页面,最新版本是 0.18.0。
https://github.com/project-serum/anchor/releases/tag/v0.18.0
我按照 Anchor 页面(https://project-serum.github.io/anchor/getting-started/installation.html)上的说明进行操作,是否有我应该使用的 Anchor 项目的不同分支/版本?
感谢大家的贡献!
我使用 makefile 在 GolangCI 工具中启用了 goimports,它能够发现未使用的导入,但不会自动删除它们。如何让我的 golangCI 工具自动删除未使用的导入?
下面是我的 golangci linting 的 makefile 命令,我使用的是标签--fix
:
##@ Linting
lint:
@echo "lint via golangci-lint in " $(OUTPUT_DIR)/src
docker run --rm -v $(PWD):/local \
-w /local golangci/golangci-lint:latest \
golangci-lint run --fix --config .golangci.yaml $(OUTPUT_DIR)/src/*.go
Run Code Online (Sandbox Code Playgroud)
下面是我的 golangci.yaml 文件,我设置remove-unused
为 true :
run:
timeout: 5m
modules-download-mode: readonly
linters:
enable:
- errcheck
- goimports
- revive
- govet
- staticcheck
# Configuration for the goimports linter
goimports:
# Set to true to remove unused …
Run Code Online (Sandbox Code Playgroud) 我想将sol 空投到特定帐户中,以使我的智能合约触发锚定测试。每当我运行测试时,我都会遇到错误Error: Account BdFchxtKbEaWtsbuFX2nbKyZCjhz5LN8vyPukQzJQrME has insufficient funds for spend (1.30250136 SOL) + fee (0.000945 SOL) There was a problem deploying: Output { status: ExitStatus(ExitStatus(256)), stdout: "", stderr: "" }.
该错误是不言自明的,但如何将代币空投到该特定帐户,我可以运行solana airdrop 5
,但随后它将其空投到另一个帐户 GgRbD2AdibdAtBrQMJJEooco9gKt48Sd98Gn7vZQ1nJK。
我什至尝试使用将代币从一个帐户转移到另一个帐户solana transfer BdFchxtKbEaWtsbuFX2nbKyZCjhz5LN8vyPukQzJQrME 5 --allow-unfunded-recipient
,但交易只是挂起。
下面是我使用 Anchor 在 Rust 中编写的智能合约:
use anchor_lang::prelude::*;
use anchor_lang::solana_program::system_program;
declare_id!("BNDCEb5uXCuWDxJW9BGmbfvR1JBMAKckfhYrEKW2Bv1W");
#[program]
pub mod solana_twitter {
use super::*;
pub fn send_tweet(ctx: Context<SendTweet>, topic: String, content: String) -> ProgramResult {
let tweet: &mut Account<Tweet> = &mut ctx.accounts.tweet; …
Run Code Online (Sandbox Code Playgroud) 我无法让 NestJS 应用程序读取我的证书秘密文件,甚至是简单的 txt 文件。我收到错误:
错误 [ExceptionsHandler] ENOENT:没有这样的文件或目录
以下是我正在做的所有事情,使用 fs 读取文件:
import {FireblocksSDK, PeerType, TransactionArguments, TransactionOperation, TransactionStatus} from "fireblocks-sdk";
import fs = require('fs');
import path = require('path');
function fireblocks() {
const text = fs.readFileSync(('./data.txt'), 'utf8');
console.log(text);
const apiSecret = fs.readFileSync(path.resolve(__dirname, "../../certs/fireblocks_secret.key"), "utf8");
return new FireblocksSDK(apiSecret, process.env.FIREBLOCKS_ACCESS_TOKEN);
}
Run Code Online (Sandbox Code Playgroud)
以下是我正在使用的文件结构:
错误 [ExceptionsHandler] ENOENT:没有这样的文件或目录
我正在尝试在 Kubebuilder 中构建我的自定义资源项目,但每当我构建它时,我似乎都缺少我的控制器生成。我不断收到错误:
/Users/*****/Kubernetes/postgres-writer-operator/bin/controller-gen object:headerFile="hack/boilerplate.go.txt" paths="./..."
bash: /Users/****/Kubernetes/postgres-writer-operator/bin/controller-gen: No such file or directory
make: *** [generate] Error 127
Error: failed to create API: unable to run post-scaffold tasks of "base.go.kubebuilder.io/v3": exit status 2
Usage:
kubebuilder create api [flags]
Run Code Online (Sandbox Code Playgroud)
我是 Kubernetes 新手,正在遵循以下教程: https://yash-kukreja-98.medium.com/develop-on-kubernetes-series-operator-dev-understanding-and-dissecting-kubebuilder-4321d3ecd7d6
首先,我运行以下命令来引导我的项目:
kubebuilder init \
--domain yash.com \
--repo github.com/yashvardhan-kukreja/postgres-writer-operator \
--project-name postgres-writer-operator \
--license apache2 \
--skip-go-version-check
Run Code Online (Sandbox Code Playgroud)
然后下一步是为我的自定义资源 PostgresWriter 运行引导程序并将其附加到运算符。
kubebuilder create api \
--group demo \
--version v1 \
--kind PostgresWriter \
--resource true \
--controller …
Run Code Online (Sandbox Code Playgroud) solana ×3
blockchain ×1
containers ×1
express ×1
go ×1
goimports ×1
kubebuilder ×1
kubernetes ×1
makefile ×1
nestjs ×1
node.js ×1
rust ×1
solana-cli ×1
typescript ×1