Hints

Basic information for solving the riddles will be revealed here over time. It is up to you finding out which hints to solve a riddle!

Hint 1

First skill you need to learn to become a blockchain dev or a tinkerer is the ability to find information within the communities.
In the crypto space, sometimes information is hidden or difficult to find, analogous to the word ‘crypto’. You need to get your hands dirty and find it yourself.

You can follow this path to reach to the information you need:

1. Go to the webpage of the project
2. Find developer documentation
3. Check if the docs contains tutorials or endpoints of the network
4. If it is there, that’s great, but sometimes it is not the case.
5. Now it is time to contact the heart of the blockchain, the community.
6. Blockchain projects choose a communication tooling to their liking. This is usually discord, telegram or matrix. Search the website for the link.
7. Voila! now you are member of the community. Take your time to go through the channels and understand the categories, channels and manners of the community. Please do read the **Rules**.
8. Before jumping in and asking `Hey Sir, when x or what x?` run a search for the term. Don’t pollute the information flow.
9. If there is not match now you are free to ask the question. Make sure you ask it to the relevant channels.

Now go ahead and try to find the information required to proceed with the riddles.

Hint 2

Reward vouchers are 32 digit hex strings.

Hint 3

Confio – musselnet-4

docs: https://docs.cosmwasm.com
RPC: https://rpc.musselnet.cosmwasm.com:443
Faucet: https://faucet.musselnet.cosmwasm.com
Explorer: https://musselnet.cosmwasm.aneka.io

client binary: https://github.com/CosmWasm/wasmd

IRIS Network – nyancat-8
docs: https://www.irisnet.org/docs/get-started/intro.html
RPC: http://34.80.202.172:26657
Faucet: ask in the channel -> https://discord.gg/hASBUtHa
Explorer: https://nyancat.iobscan.io/

client binary: https://github.com/CosmWasm/wasmd build locally

Secret Network – holodeck-2
docs: https://build.scrt.network/
RPC: https://bootstrap.secrettestnet.io:26667
Faucet: https://faucet.secrettestnet.io/
Explorer: http://explorer.secrettestnet.io/transactions

client binary: https://github.com/enigmampc/SecretNetwork/releases/tag/v1.0.4

Terra – tequila-0004

docs: https://docs.terra.money/
RPC: http://3.35.148.111:26657/
Faucet: https://faucet.terra.money/
Explorer: https://finder.terra.money/tequila-0004

client binary: https://github.com/terra-project/core build locally

Regen Network – regen-devnet-5

docs: https://docs.regen.network/
RPC: http://18.220.101.192:26657
Faucet: https://faucet.devnet.regen.vitwit.com/
Explorer: https://devnet.regen.aneka.io/

client binary: https://github.com/regen-network/regen-ledger build locally

Hint 4

Addresses, Transactions, Blocks, Height

In this event you will see strings like: `C4CBCEDD2D288DFCA8C90C294C85096C6ED01FD089E24E3F1BC9774A33108BDE`
This is a 32 bytes, hexadecimal string. Tendermint/cosmos-sdk hashes the txs and blocks in this format.
The hash above is a musselnet transaction hash. These values always indexed by block explorers.
Run a search with the hash to see it’s content: https://musselnet.cosmwasm.aneka.io/txs/C4CBCEDD2D288DFCA8C90C294C85096C6ED01FD089E24E3F1BC9774A33108BDE

Another value: `wasm1….`, `terra1…..` `regen1…..` strings. These strings are bech32 account addresses.
Go ahead and see one: https://nyancat.iobscan.io/#/address/iaa1empxazltylhf73ujuss8tuuyjzwa8wdet7mmnr

Block height is a sequential unsigned integer value that indexes a block. There could be many transactions in a single block.
Here is one: https://devnet.regen.aneka.io/blocks/490108

Base64

From Wikipedia: Base64 is a group of binary-to-text encoding schemes that represent binary data (more specifically, a sequence of 8-bit bytes) in an ASCII string format by translating the data into a radix-64 representation

Basically if you see a string like this: `aHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2hcP3ZcPU5VWXZiVDZ2VFBzCg==` this is a base64 encoded string.
To decode `echo “aHR0cHM6Ly93d3cueW91dHViZS5jb20vd2F0Y2hcP3ZcPU5VWXZiVDZ2VFBzCg==” | base64 -d`

Querying on chain data

cosmos-sdk/CosmWasm based projects all have similar client apis: `terracli`, `regen`, `wasmd` and more.
Query and tx interfaces are very very similar.

Query block:

“`bash
wasmd query block 15 –node https://rpc.musselnet.cosmwasm.com
“`

Query tx:

“`bash
wasmd query tx C4CBCEDD2D288DFCA8C90C294C85096C6ED01FD089E24E3F1BC9774A33108BDE –node https://rpc.musselnet.cosmwasm.com
`

Smart Query

Smart Query interface is defined by the contract itself thus you can run complex queries.

Sample cw20 query:

“`bash
QUERY='{“token_info”:{}}’
wasmd query wasm contract-state smart [bech32_address] ‘$QUERY’
“`

Recovering Mnemonic

Mnemonic seed phrase the only access to a wallet. You can retain access to an account if you have mnemonic to the wallet.

You can recover an account using mnemonic with this command below:
“`bash
wasmd keys add show –recover
> Enter your bip39 mnemonic
chef sense chicken net around sting course someone question badge hand also nation siren remember famous bird eagle phrase kidney devote damp sugar throw
“`

Json Schema

Smart contract execute or query interface is defined by Json Schema that could be found in the smart contract repo.
Smart contract developer should provide schema to the users: https://github.com/CosmWasm/cosmwasm-plus/tree/master/contracts/cw20-base/schema

Execute Smart Contract

You can execute smart contracts using cli. Some riddles needs this skill for the solution

Sending tokens from cw20

You need

“`bash
SEND_MSG='{“transfer”: {“amount”:”1000″, “recipient”:”wasm170n6mk4k97kvrtj25t9ghm54ewmewt6yq9g6kt”}}’
wasmd tx wasm execute $CONTRACT_ADDR “$SEND_MSG” –from wallet
“`

Signing transactions

Offline signing is a cool functionality. It is like delayed payment. One use case: create a transaction that will send
from account A to B and send the unsigned tx to the account A owner to approve and sign the transaction then broadcast to the chain

“`bash
# –generate-only flag creates tx and only prompts unsigned tx
regen tx bank send regen134rsdpu5xfhegdclxmdeqxn0j6gmenkmcdmpuz regen103hx72nfk0mypwlfa3qwyx4rzvv35gvyy83ral 100uregen –memo “you found me” –chain-id regen-devnet-5 –generate-only > unsigned_tx.json
# {“body”:{“messages”:[{“@type”:”/cosmos.bank.v1beta1.MsgSend”,”from_address”:”regen134rsdpu5xfhegdclxmdeqxn0j6gmenkmcdmpuz”,”to_address”:”regen103hx72nfk0mypwlfa3qwyx4rzvv35gvyy83ral”,”amount”:[{“denom”:”uregen”,”amount”:”100″}]}],”memo”:”you found me”,”timeout_height”:”0″,”extension_options”:[],”non_critical_extension_options”:[]},”auth_info”:{“signer_infos”:[],”fee”:{“amount”:[],”gas_limit”:”81363″,”payer”:””,”granter”:””}},”signatures”:[]}

# signs the tx and posts it to the chain
regen tx sign unsigned_tx.json –from regen134rsdpu5xfhegdclxmdeqxn0j6gmenkmcdmpuz –chain-id regen-devnet-5
“`

 

You can claim rewards here!