【问题标题】:solana-test-validator deploy fail. Blockhash expiredsolana-test-validator 部署失败。区块哈希过期
【发布时间】:2022-01-02 08:58:15
【问题描述】:

我正在尝试在本地 solana-test-validator 上部署一个简单的程序

我启动验证器

docker run -it --entrypoint solana-test-validator -p 8899:8899 -p 8900:8900 -p 9900:9900 solanalabs/solana:v1.8.11

然后我创建一个带有钱包的帐户,其中包含一些 SOL

solana config set --url http://localhost:8899
KEYPAIR_ACCOUNT1="/root/.config/solana/id1.json"
solana-keygen new -o $KEYPAIR_ACCOUNT1 --force
PUBKEY_ACCOUNT1=`solana-keygen pubkey $KEYPAIR_ACCOUNT1`
solana-keygen verify $PUBKEY_ACCOUNT1 $KEYPAIR_ACCOUNT1

solana balance $PUBKEY_ACCOUNT1
solana airdrop 10 $PUBKEY_ACCOUNT1

我正在构建这个简单的程序: https://gitlab.com/rahasak-labs/solana-localnet/-/tree/master/contract

我确保本地 solana 也是 1.8.11(我也尝试过 1.9.2)

cd solanaworkspace/contract_helloworld
# lib for building smartcontract
cargo install rustfilt

# build helloworld
cargo build-bpf --dump

部署我所做的程序: 我使用 --keypair $KEYPAIR_ACCOUNT1 来部署 /solanaworkspace/contract_helloworld/target/deploy/helloworld.so,它将在 $KEYPAIR_PROGRAM1 使用默认的 .json 密钥对

KEYPAIR_PROGRAM1=/solanaworkspace/contract_helloworld/target/deploy/helloworld-keypair.json
PUBKEY_PROGRAM1=`solana-keygen pubkey $KEYPAIR_PROGRAM1`

# solana account $PUBKEY_PROGRAM1

solana program deploy --keypair $KEYPAIR_ACCOUNT1 /solanaworkspace/contract_helloworld/target/deploy/helloworld.so

这将尝试提交 5 次,直到失败并显示 Blockhash expired 在尝试部署时,我看到类似这样的日志:

Waiting for next block, 60 pending...    [block height 693; re-sign in 285 ] 

它也显示到 60,但随后重置为 Waiting for next block

Sending 36/60 transactions

我做错了什么?

我猜想用 docker 容器很容易复制。 非常感谢。

编辑:嗯,当它不在 docker 容器中运行时它可以工作。 我还在想 with 是不是错了。

【问题讨论】:

    标签: solana


    【解决方案1】:

    程序部署是通过验证器的 TPU(事务处理单元)完成的,它侦听不同的端口 8003。如果该端口不可访问,则发送程序部署事务将失败。

    您可以在启动时添加端口8003,如果仍然失败,请打开 Dockerfile 中列出的每个端口:https://github.com/solana-labs/solana/blob/005592998dd107b3d54d9203babe24da681834f5/sdk/docker-solana/Dockerfile#L3

    【讨论】:

      猜你喜欢
      • 2022-01-15
      • 2022-12-03
      • 2022-01-23
      • 2021-09-15
      • 2022-07-26
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多