I have not been able to launch my namespace even though namespace_reveal prints out a txid.
The output of namespace_ready is always:
{
“status”: false,
“error”: “Namespace cannot be safely launched”,
“isNamespaceValid”: true,
“isNamespaceReady”: false,
“isPrivateKeyRevealer”: false,
“revealerBalanceBTC”: 499599462000,
“estimateCostBTC”: 360000
}
Thanks for providing the private keys! For the namespace_ready command, you need to pass the private key for mp4mpbBJDZUbqEtJ5T69tXMco8xqF71JqL (not the one you were passing). It needs to be the private key of the namespace reveal address.
Should I make a new address with bitcoin-cli? or with blockstack-cli make_keychain?
Because I cannot understand if I generate an address with bitcoin-cli, how do I link it to an owner/payment pair keys.
Ah, I see you are using the same private key for both the namespace creator address and the payment key. You should use separate private keys – one for paying for the namespace, and one for importing names and launching it with namespace_ready.
The namespace_ready should use the private key for btc_addr1 (not the one for payment_addr1). Also, it needs to occur in a different block than the namespace_reveal.
If I want to get the private key of a bitcoin address I’ll have to generate it with bitcoin-cli. But If I generate it with bitcoin-cli I cannot find the mnemonic in order to generate a blockstack owner/payment keys for this specific bitcoin address. How do I do that?
That’s fine – you don’t need the mnemonic to register a namespace. You don’t even need mnemonics to register names (any two private keys will work) – we only use mnemonics because it makes it possible to re-derive all of your name owner and payment keys from a single string instead of requiring you to back up a bunch of different keys.
I am not understanding it sorry!
Each private key generates a public key and the corresponding address.
In the cli reference docs, namespace_preorder and namespace_reveal both of them need a reveal address and a payment key. If you are telling me that namespace_ready needs a different private key not the payment key then I need a different address, it will not correspond to the reveal address entered in namespace_preorder and namespace_reveal.
So how should I do that? Do I really need to 2 keychains?
Has your Blockstack Core node processed the blocks you generated? Your commands look correct, but if your Blockstack Core node isn’t actively indexing the blockchain, then it won’t know about the namespace_reveal transaction (and the CLI will error out because it can’t tell the difference).
You can tell if the Core node is processing blocks by looking at the log file – you should see a line with ACCEPT NAMESPACE_PREORDER and ACCEPT NAMESPACE_REVEAL. If you see REJECT NAMESPACE_PREORDER or REJECT NAMESPACE_REVEAL, it means that the Core node processed them and for whatever reason it didn’t consider them valid (the log messages will explain why). If you don’t see either of these, then your Core node hasn’t processed the block that contains them (and the CLI won’t let you send the NAMESPACE_READY transaction).
Hi i was trying the same thing, if i want to register a namespace on bitcoin testnet or regtest,
i saw that the commands that you were hitting to register the namespace,
where can i get the payment key, the bitcoin account has to be regstered on bitcoin testnet/regtest environment ?
Can you please take some time to explain the keys that you wrote while the namespace commands, It would be great help
Thanks in Advance
You’d first make a keychain with blockstack-cli -t make_keychain to generate owner and payment private keys. You would then fund them on the testnet faucet at testnet.blockstack.org, and once they confirm (about 5 minutes), you should be able to run the above commands.