❯ git clone https://github.com/shiki-tak/line-blockchain-auction.git && cd line-blockchain-auction
❯ git clone https://github.com/line/lbm-sdk.git
❯ cd lbm-sdk
❯ git checkout dynamic_link
❯ ./init_node.sh sim
❯ simd start --home ~/.simapp/simapp0
send coin to alice and bob
# add accounts
❯ simd keys add alice --keyring-backend=test --home ~/.simapp/simapp0
❯ simd keys add bob --keyring-backend=test --home ~/.simapp/simapp0
# send coin
❯ simd tx bank send $(simd keys show validator0 -a --keyring-backend=test --home ~/.simapp/simapp0) $(simd keys show alice -a --keyring-backend=test --home ~/.simapp/simapp0) 20000000000stake --keyring-backend=test --home ~/.simapp/simapp0 --chain-id sim -y
❯ simd tx bank send $(simd keys show validator0 -a --keyring-backend=test --home ~/.simapp/simapp0) $(simd keys show bob -a --keyring-backend=test --home ~/.simapp/simapp0) 20000000000stake --keyring-backend=test --home ~/.simapp/simapp0 --chain-id sim -y
❯ simd keys list --keyring-backend=test --home ~/.simapp/simapp0
❯ docker run --rm -v "$(pwd)":/code \
--mount type=volume,source="$(basename "$(pwd)")_cache",target=/code/target \
--mount type=volume,source=registry_cache,target=/usr/local/cargo/registry \
cosmwasm/rust-optimizer:0.12.5 && cd artifacts
❯ simd tx wasm store nft.wasm --from alice --gas-prices="0.025stake" --gas="auto" --gas-adjustment="1.2" -y --keyring-backend=test --chain-id=sim --home ~/.simapp/simapp0
❯ NFT_CODE_ID=1
❯ NFT_INIT='{"name":"line-nft", "symbol":"NFT"}'
simd tx wasm instantiate $NFT_CODE_ID "$NFT_INIT" --admin $(simd keys show alice -a --keyring-backend=test --home ~/.simapp/simapp0) --from alice --label "test" --gas-prices="0.025stake" --gas="auto" --gas-adjustment="1.2" -y --keyring-backend=test --chain-id=sim --home ~/.simapp/simapp0
❯ NFT_CONTRACT=link14hj2tavq8fpesdwxxcu44rty3hh90vhujrvcmstl4zr3txmfvw9sgf2vn8
❯ MINT='{"mint":{"name":"nft-1", "uri":"nft.1.example.com"}}'
simd tx wasm execute $NFT_CONTRACT "$MINT" --from alice --gas-prices="0.025stake" --gas="auto" --gas-adjustment="1.2" -y --keyring-backend=test --chain-id=sim --home ~/.simapp/simapp0
❯ OWNER='{"owner":{"token_id":"0"}}' && simd query wasm contract-state smart $NFT_CONTRACT "$OWNER" --output json
❯ simd tx wasm store auction.wasm --from alice --gas-prices="0.025stake" --gas="auto" --gas-adjustment="1.2" -y --keyring-backend=test --chain-id=sim --home ~/.simapp/simapp0
❯ AUCTION_CODE_ID=2
instantiate auction contract
❯ AUCTION_INIT='{"auction_limit_block_height":100}'
❯ simd tx wasm instantiate $AUCTION_CODE_ID "$AUCTION_INIT" --admin $(simd keys show alice -a --keyring-backend=test --home ~/.simapp/simapp0) --from alice --label "test" --gas-prices="0.025stake" --gas="auto" --gas-adjustment="1.2" -y --keyring-backend=test --chain-id=sim --home ~/.simapp/simapp0
❯ AUCTION_CONTRACT=link1nc5tatafv6eyq7llkr2gv50ff9e22mnf70qgjlv737ktmt4eswrqyu0w3p
❯ APPROVEFORALL=$(jq -n --arg opeartor $AUCTION_CONTRACT '{"approve_for_all":{"opeartor": $opeartor, "approved": true}}')
❯ simd tx wasm execute $NFT_CONTRACT "$APPROVEFORALL" --from alice --gas-prices="0.025stake" --gas="auto" --gas-adjustment="1.2" -y --keyring-backend=test --chain-id=sim --home ~/.simapp/simapp0
❯ LISTING=$(jq -n --arg nft_contract_address $NFT_CONTRACT '{"listing":{"nft_contract_address":$nft_contract_address, "id": "0", "minimum_bid":{"denom":"stake", "amount": "100"}}}')
❯ simd tx wasm execute $AUCTION_CONTRACT "$LISTING" --from alice --gas-prices="0.025stake" --gas="auto" --gas-adjustment="1.2" -y --keyring-backend=test --chain-id=sim --home ~/.simapp/simapp0
❯ LISTINGTOKEN='{"listing_token":{"listing_id":"avq8fpesdwxxcu44rty3hh90vhujrvcmstl4zr3txmfvw9sgf2vn80"}}'
❯ simd query wasm contract-state smart $AUCTION_CONTRACT "$LISTINGTOKEN" --output json
❯ simd query wasm contract-state smart $NFT_CONTRACT "$OWNER" --output json
❯ BID='{"bid":{"listing_id":"avq8fpesdwxxcu44rty3hh90vhujrvcmstl4zr3txmfvw9sgf2vn80"}}'
❯ simd tx wasm execute $AUCTION_CONTRACT "$BID" --from bob --amount 101stake --gas-prices="0.025stake" --gas="auto" --gas-adjustment="1.2" -y --keyring-backend=test --chain-id=sim --home ~/.simapp/simapp0
❯ WITHDRAW='{"withdraw":{"listing_id":"avq8fpesdwxxcu44rty3hh90vhujrvcmstl4zr3txmfvw9sgf2vn80"}}'
❯ simd tx wasm execute $AUCTION_CONTRACT "$WITHDRAW" --from alice --gas-prices="0.025stake" --gas="auto" --gas-adjustment="1.2" -y --keyring-backend=test --chain-id=sim --home ~/.simapp/simapp0
❯ simd query wasm contract-state smart $NFT_CONTRACT "$OWNER" --output json