For my project, I have to build a blockchain using ECDSA address in order to be compatible with Ethereum. But the native address is in sr25519 scheme in substrate. What should I do to implement this? Are there any best practices?
AFAIK substrate supports a couple of signature schemes, among them secp256k1. Moonbeam is a chain built with substrate which uses Ethereum-compatible unified accounts. I suggest looking at their docs and/or code for more detailed information.