Generate correct taproot addresses for both wallets
I am looking to solve the problems of finding the correct P2TR (m/86'/0'/0'/0) address starting from the given 12 words mnemonic.

Generate to bitcoin address with P2TR standard as mentioned works of [OKX wallet](https://github.com/okx/js-wallet-sdk/blob/main/packages/coin-bitcoin/src/taproot.ts) and the works of [unisats wallet](https://github.com/unisat-wallet/extension) they both have different ways to generate the bitcoin taproot address. 

The basic concept:
A pay-to-taproot (P2TR), also known as a Taproot or Bech32m address, is the most recent and advanced bitcoin address format. Taproot introduces more advanced security, privacy, flexibility and scaling to bitcoin. Like SegWit, Taproot addresses are opt-in and not currently widely supported. Taproot adoption can be tracked [here](https://en.bitcoin.it/wiki/Bech32_adoption).

Benefits of Taproot include the ability to use Schnorr Signatures, offering better security, lower fees, and more flexible [multi-key](https://bitcoin.design/guide/private-key-management/multi-key/) transactions. Multi-key addresses using P2TR look the same as single-key addresses giving users of multi-key increased privacy. Taproot also enables more advanced scripting, enabling more complex smart contracts to be built on bitcoin.

Taproot addresses start with bc1p with total length of 62 and are case insensitive. [specification](https://en.bitcoin.it/wiki/Bech32)


step 2:
After I have done studying the generation mechanism,  I try to integrate the python coding into the [hd-wallet](https://github.com/meherett/python-hdwallet) repo for better code management. 

I want to express my gratitude for the excellent package you have created. I extensively used your package code to develop a wallet package in EXX.
