M1 Macでairdropやdeployできない、という情報があったが、Linux(debian)もできなかった。
Query: Deploying hello world to solana-test-validator on M1 fails #18033
一旦、自分のまっさらな環境(Debian GNU/Linux 10、Docker Image: debian:buster-slim)ではうまくいったため、そのときのメモ。
Agenda
現象
airdropするとinsufficient fee-payer fundsエラー。なお、anchor deployしても同じエラーになる。
root@d130ac3addea:/usr/src/app/solana-anchor-react-minimal-example/full-stack/initialize# solana airdrop 1 8kBMLjb8inTpMiJLXgMpVoTvjL3GA5ow47ApsjswnpqG
Requesting airdrop of 1 SOL
Error: unable to confirm transaction. This can happen in situations such as transaction expiration and insufficient fee-payer funds
原因
原因不明。2021/12/30時点でGitHubのIssueがOpenになっているため、まだ原因究明中(?)と思われる。
対応
「solana-test-validator --bpf-program」というのを利用したらうまくいった。
以下のように指定する。
solana-test-validator --bpf-program [PROGRAM ADDRESS] [SO FILE]
% ANCHOR_WALLET_ADDRESS=$(solana address -k target/deploy/initialize-keypair.json)
% solana-test-validator --bpf-program $ANCHOR_WALLET_ADDRESS target/deploy/initialize.so
補足
今回利用したDocker(自分で作成したまっさらなDocker)。
Solana x Anchor x React in Docker
備考
2018 late Macの場合は、特にこのような症状はなく普通に動作した。
AnchorやdebianなどのDockerで、まっさらな状態だと発生した。