#dusk $DUSK @Dusk
I assumed a token was one thing with one representation. Went through the tokenomics page this week and that is not the case here.
There is mainnet DUSK. There is an ERC20 version. There is a BEP20 version. And the mainnet token uses a different number of decimals than the ERC20 and BEP20 ones do.
That sounds like trivia until you think about who has to handle it.
Every exchange listing DUSK has to encode amounts correctly across all three. Every bridge has to convert precisely between them. Every integrator reading balances has to know which representation they are looking at.
Decimal mismatches are a genuine source of production bugs. Not exotic ones either. Off by a factor of a hundred is the classic version and it has cost people real money on other chains.
The honest reason it exists is history. Tokens that started on another network before mainnet carry that inheritance forward. There is a mainnet migration guide in the docs for exactly this reason.
The caveat worth naming is that documenting a complexity is not the same as removing it. Every additional representation is another place an integration can go wrong.
Do multi chain token representations worry you or do you treat them as solved
@Dusk #dusk $DUSK
I assumed a token was one thing with one representation. Went through the tokenomics page this week and that is not the case here.
There is mainnet DUSK. There is an ERC20 version. There is a BEP20 version. And the mainnet token uses a different number of decimals than the ERC20 and BEP20 ones do.
That sounds like trivia until you think about who has to handle it.
Every exchange listing DUSK has to encode amounts correctly across all three. Every bridge has to convert precisely between them. Every integrator reading balances has to know which representation they are looking at.
Decimal mismatches are a genuine source of production bugs. Not exotic ones either. Off by a factor of a hundred is the classic version and it has cost people real money on other chains.
The honest reason it exists is history. Tokens that started on another network before mainnet carry that inheritance forward. There is a mainnet migration guide in the docs for exactly this reason.
The caveat worth naming is that documenting a complexity is not the same as removing it. Every additional representation is another place an integration can go wrong.
Do multi chain token representations worry you or do you treat them as solved
@Dusk #dusk $DUSK

