laconicd-deprecated/scripts/create-and-fund-account.sh
Thomas E Lackey 19a7b4d3eb
Some checks failed
Build / cleanup-runs (pull_request) Successful in 8s
Deploy Contract / cleanup-runs (pull_request) Successful in 11s
CodeQL / Analyze (go) (pull_request) Failing after 39s
Build / build (pull_request) Failing after 1m14s
Pull Request Labeler / triage (pull_request) Failing after 36s
Dependency Review / dependency-review (pull_request) Failing after 1m15s
Deploy Contract / deploy (pull_request) Failing after 1m1s
Semgrep / Scan (pull_request) Failing after 21s
Lint / Run flake8 on python integration tests (pull_request) Failing after 26s
Tests / cleanup-runs (pull_request) Failing after 4s
Run Gosec / Gosec (pull_request) Failing after 39s
Lint / Run golangci-lint (pull_request) Failing after 1m48s
Tests / test-importer (pull_request) Failing after 1m28s
Tests / test-unit-cover (pull_request) Failing after 1m29s
Tests / test-rpc (pull_request) Failing after 1m39s
Tests / sdk_tests (pull_request) Failing after 4m53s
Add a script to simplify creating and funding a new account.
2024-01-09 23:09:24 -06:00

28 lines
1.2 KiB
Bash
Executable File

#!/bin/bash
KEYNAME=`uuidgen | tr -d '-'`
KEYRING_DIR=`mktemp -d`
KEYRING=test
LACONIC_CONFIG=${LACONIC_CONFIG:-$HOME/.laconic/config.yml}
ACCOUNT_JSON=$(laconicd keys add $KEYNAME --keyring-backend $KEYRING --algo eth_secp256k1 --keyring-dir $KEYRING_DIR --output json)
PRIVATE_KEY=$(yes | laconicd keys export $KEYNAME --keyring-backend $KEYRING --keyring-dir $KEYRING_DIR --unarmored-hex --unsafe)
PUB_KEY=$(echo $ACCOUNT_JSON | jq -r ".pubkey | fromjson | .key")
ACCOUNT_JSON=$(echo $ACCOUNT_JSON | jq ".privkey = \"$PRIVATE_KEY\"" | jq ".pubkey = \"$PUB_KEY\"")
laconicd keys delete $KEYNAME --keyring-backend $KEYRING --keyring-dir $KEYRING_DIR -y 2> /dev/null
rm -rf $KEYRING_DIR
AVG_RECORD_PHOTON=1000000
NUM_RECORDS=5000
BOND_OVERHEAD=200000
BOND_AMOUNT=$((AVG_RECORD_PHOTON * NUM_RECORDS))
laconic -c $LACONIC_CONFIG cns tokens send --address $(echo $ACCOUNT_JSON | jq -r '.address') --type aphoton --quantity $((BOND_AMOUNT + BOND_OVERHEAD)) > /dev/null
BOND_ID=$(laconic -c $LACONIC_CONFIG cns bond create --user-key $PRIVATE_KEY --type aphoton --quantity $BOND_AMOUNT | jq -r '.bondId')
echo $ACCOUNT_JSON | jq ".bond = \"$BOND_ID\"" | jq ".balance = $BOND_AMOUNT"