Key does not exist in this wallet

Dear all
I plan to register online about my account.
When I use the command " ~/node$ ./goal clerk sign --infile=“online.txn” --outfile=“online.stxn” -d data". The system show the error message “Couldn’t sign tx with kmd: key does not exist in this wallet”.
I don’t know what does this key refer to ?
In addtion, the “ALGORAND_DATA/genesisfiles” has four folders: betanet/devnet/mainnet/testnet. Each folder has “genesis.json”, but the devnets’ is very different from others. What is the role of “devnet/genesis.json”? And if I want to use this file to start nodes/accounts, Which website should I go to dispense funds for my account?

That error message means goal can not find the key to sign that transaction. By default it tries to use the KMD (key management daemon) to locate the signing key. Where do you have the key for the account? Those genesis files are for each of the four networks Algorand has. Devnet is primarily used only in development and it cycles often. You can switch a node to a different directory with these files. See this doc: Algorand Developer Docs

If you use TestNet, which is primarily for app developers you can add tokens to your account using this dispenser:
You can see the link for the betanet dispenser here: Algorand Developer Docs

Thanks JasonW
I know where the problem is. I created the account by go-sdk, so when I use the goal command to register online about my account. The system cann’t find the key, because when I use the command “goal account list”, they cann’t find the account.
I find an interesting phenomenon: I use the go-sdk to register online successfully, but when I use the goal command “goal account listpartkeys” to query the corresponding participation key, the participation key shows “Registered no”.
Maybe the go-sdk and goal CLI are two different systems ?