user234: I'm trying to use cardano-cli to control the addresses controlled by my Yoroi wallet, so I thought the first thing to do is to import the keys and addresses. I did this:
$ # Type the seed phrase for the Yoroi wallet into a file phrase.txt.
$ cat phrase.txt | cardano-address key from-recovery-phrase Shelley > root.prv
$ cat root.prv | cardano-address key child 1852H/1815H/0H/0/0 | cardano-address key public --with-chain-code  | cardano-address address payment --network-tag mainnet

The output is "addr1v..." but in the Yoroi the 0th address is "addr1q...", so they are very different. What am I missing? My ultimate goal is to get the addresses and keys I need to build and sign transactions using cardano-cli, and I'm stuck at even getting the right addresses using cardano-address.

Following the instructions from the cardano-addresses README.md, I was able to generate a "delegated payment address" that matches the 0th address I see in Yoroi. However, cardano-cli transaction sign requires a --signing-key-file, which is normally generated using cardano-cli address key-gen, and I don't know how to get a cardano-cli-style signing key file from the stuff I can get from cardano-address.
I believe cardano-wallet can be used to make payment transactions, but AFAICT only cardano-cli can be used to mint tokens; I don't see anything about minting tokens in the help for cardano-wallet.

user1931: You can use cardano-cli to convert an extended signing key to a Shelley-format key (which is what you need in order to sign a transaction).
cardano-cli key convert-cardano-address-key --shelley-payment-key --signing-key-file address.xsk --out-file address.skey

I believe this is the missing piece of information you are after. The steps needed to get address.xsk are the same as those needed to derive the extended verification keys. The answer to this question covers that.
Later edit :
Here are all the steps for getting a signing key usable with cardano-cli from a seed phrase
./cardano-address key from-recovery-phrase Shelley < phrase.prv > root.xsk

# Derive the address signing key
./cardano-address key child 1852H/1815H/0H/0/2 < root.xsk > address.xsk

# Convert the extended signing key to a Shelley-format key
cardano-cli key convert-cardano-address-key --shelley-payment-key --signing-key-file address.xsk --out-file address.skey

In my case the address holding funds had this derivation path 1852H/1815H/0H/0/2. In Yoroi you can see the derivation path for an address when you click the ✓ Verify address button.
You can derive any path you need following the steps above.

234: <p>I'm trying to use <code>cardano-cli</code> to control the addresses controlled by my Yoroi wallet, so I thought the first thing to do is to import the keys and addresses. <s>I did this:</p>
<pre><code>$ # Type the seed phrase for the Yoroi wallet into a file phrase.txt.
$ cat phrase.txt | cardano-address key from-recovery-phrase Shelley &gt; root.prv
$ cat root.prv | cardano-address key child 1852H/1815H/0H/0/0 | cardano-address key public --with-chain-code  | cardano-address address payment --network-tag mainnet
</code></pre>
<p>The output is &quot;addr1v...&quot; but in the Yoroi the 0th address is &quot;addr1q...&quot;, so they are very different. What am I missing? My ultimate goal is to get the addresses and keys I need to build and sign transactions using <code>cardano-cli</code>, and I'm stuck at even getting the right addresses using <code>cardano-address</code>.
</s></p>
<p>Following the <a href="https://github.com/input-output-hk/cardano-addresses/blob/78d2c38d9287839b28784462ea0bffe8bce7c867/README.md" rel="nofollow noreferrer">instructions</a> from the <code>cardano-addresses</code> README.md, I was able to generate a &quot;delegated payment address&quot; that matches the 0th address I see in Yoroi. However, <code>cardano-cli transaction sign</code> requires a <code>--signing-key-file</code>, which is normally generated using <code>cardano-cli address key-gen</code>, and I don't know how to get a cardano-cli-style signing key file from the stuff I can get from <code>cardano-address</code>.</p>
<p>I believe <code>cardano-wallet</code> can be used to make payment transactions, but AFAICT only <code>cardano-cli</code> can be used to mint tokens; I don't see anything about minting tokens in the help for <code>cardano-wallet</code>.</p>
 1931: <p>You can use cardano-cli to convert an extended signing key to a Shelley-format key (which is what you need in order to sign a transaction).</p>
<pre><code>cardano-cli key convert-cardano-address-key --shelley-payment-key --signing-key-file address.xsk --out-file address.skey
</code></pre>
<p>I believe this is the missing piece of information you are after. The steps needed to get <em>address.xsk</em> are the same as those needed to derive the extended verification keys. The answer to <a href="https://cardano.stackexchange.com/questions/833/why-is-there-a-small-difference-between-addresses-derived-by-the-cardano-address">this question</a> covers that.</p>
<p>Later edit :
Here are all the steps for getting a signing key usable with cardano-cli from a seed phrase</p>
<pre><code>./cardano-address key from-recovery-phrase Shelley &lt; phrase.prv &gt; root.xsk

# Derive the address signing key
./cardano-address key child 1852H/1815H/0H/0/2 &lt; root.xsk &gt; address.xsk

# Convert the extended signing key to a Shelley-format key
cardano-cli key convert-cardano-address-key --shelley-payment-key --signing-key-file address.xsk --out-file address.skey
</code></pre>
<p>In my case the address holding funds had this derivation path <code>1852H/1815H/0H/0/2</code>. In Yoroi you can see the derivation path for an address when you click the <code>✓ Verify address</code> button.
You can derive any path you need following the steps above.</p>
