🕵️ SicherheitslückenHak5: Hackers Just Poisoned the Rust Supply Chain | Threat Wire(01.09.2026 um 14:00 Uhr)
🕵️ SicherheitslückenHak5: Hackers Found a Way Into Humanoid Robots | Threat Wire(04.09.2026 um 15:04 Uhr)
🔧 AI Nachrichten Bits und so #1021 (Passwort für Laufwerk)(31.08.2026 um 22:15 Uhr)
🔧 AI Nachrichten Bits und so #1022 (Wie Weißbier)(06.09.2026 um 20:39 Uhr)
🍏 iOS / Mac OSHue-App 6.0 ist da: das sind die Neuerungen(07.09.2026 um 17:21 Uhr)
🕵️ SicherheitslückenHak5: Hackers Just Poisoned the Rust Supply Chain | Threat Wire(01.09.2026 um 14:00 Uhr)
🕵️ SicherheitslückenHak5: Hackers Found a Way Into Humanoid Robots | Threat Wire(04.09.2026 um 15:04 Uhr)
🔧 AI Nachrichten Bits und so #1021 (Passwort für Laufwerk)(31.08.2026 um 22:15 Uhr)
🔧 AI Nachrichten Bits und so #1022 (Wie Weißbier)(06.09.2026 um 20:39 Uhr)
🍏 iOS / Mac OSHue-App 6.0 ist da: das sind die Neuerungen(07.09.2026 um 17:21 Uhr)

🔧 Programmierung 🕛 kürzlich 4 Min Lesezeit
0

Token-2022 Feels Like Middleware for Money

↗ Quelle (dev.to)
🗣️ Stimme:
📑 Inhaltsübersicht

As a Web2 developer, I naturally compare new technologies to tools I've already used.



After spending a week exploring Solana's Token-2022 program, I realized the best analogy is middleware.



Instead of wrapping requests, you're wrapping assets.



With Token-2022 extensions, behaviors that would normally require custom smart contracts can be attached directly to a token mint. Over the past few days, I created three different Token-2022 mints on devnet and experimented with transfer fees, interest accrual, and non-transferability.









Day 50–51: Transfer Fee Token






Mint Address






CODE
2Ak24WKZZrvjE4KGWr8YMovGBsWB5bptcQekFycn5jpd









Create Token






CODE
spl-token --program-id TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb \
create-token \
--transfer-fee-basis-points 100 \
--transfer-fee-maximum-fee 1000000 \
--decimals 6









Test Transfers






CODE
export MINT=2Ak24WKZZrvjE4KGWr8YMovGBsWB5bptcQekFycn5jpd

spl-token mint $MINT 1000000

spl-token transfer \
--expected-fee 10 \
$MINT 1000 $RECIPIENT \
--allow-unfunded-recipient









Harvest Collected Fees






CODE
spl-token withdraw-withheld-tokens \
$MY_TA \
$RECIPIENT_TA






The Transfer Fee extension automatically withholds a percentage of every transfer. In a traditional Web2 application, implementing this would typically require backend logic, payment processing, and accounting systems. With Token-2022, the rule is enforced directly by the token itself.



Potential use cases include protocol fees, creator royalties, treasury funding, and community currencies.









Day 52: Interest-Bearing Token






Mint Address






CODE
86D7eecNMkJMofFabFq9GMFPPUVYrwLbLx3KA6vnAyee









Create Token






CODE
spl-token create-token \
--program-id TokenzQdBNbLqP5VEhdkAS6EPFLC1PHnBqCXEpPxuEb \
--decimals 6 \
--transfer-fee-basis-points 100 \
--transfer-fee-maximum-fee 1000000 \
--interest-rate 5000









Observe Interest Accrual






CODE
spl-token accounts $MINT --verbose

sleep 30

spl-token accounts $MINT --verbose






This extension surprised me the most.



Unlike traditional interest-bearing assets, the underlying token balance does not increase over time. Instead, Token-2022 adjusts the displayed UI amount to reflect accrued interest.



The result is a token that appears to grow while maintaining the same underlying balance. This allows applications to represent yield without continuously minting new tokens.









Day 54: Non-Transferable Token






Mint Address






CODE
Ek7ViTTtLeMCXGgBBuxUcnbxNweN58EJhTAkzcfkKi8k









Create Token






CODE
spl-token create-token \
--program-2022 \
--enable-non-transferable









Attempt a Transfer






CODE
spl-token transfer $MINT 1 $RECIPIENT --allow-unfunded-recipient









Actual Result



The transfer failed exactly as expected.




CODE
Transfer 1 tokens
Sender: AUVDPscnF5YwhSd5oKKVFiASVLJvzix9v9rT6SFiUaTk
Recipient: A8MAafu4XrCxetfZhMWtSoSMXarzUBeXX5yUrcHqdCxq
Recipient associated token account: 4BkZZy8r1uaraL4PRu6CgNAvA8HhBEhcBMcmPgexB46C

Error: Client(Error {
request: Some(SendTransaction),
kind: RpcError(RpcResponseError {
code: -32002,
message: "Transaction simulation failed:
Error processing Instruction 0:
custom program error: 0x25",
data: SendTransactionPreflightFailure(
RpcSimulateTransactionResult {
err: Some(
UiTransactionError(
InstructionError(0, Custom(37))
)
),
logs: [
"Program log: Instruction: TransferChecked",
"Program log: Transfer is disabled for this mint"
]
}
)
})
})






The important part of the error is:




Program log: Transfer is disabled for this mint




This confirms that the Non-Transferable extension was functioning exactly as designed. The Token-2022 program prevented the asset from being transferred between wallets, enforcing the restriction at the protocol level rather than relying on application logic.



Unlike standard SPL tokens, these assets are intended to remain attached to the wallet that receives them.



Potential use cases include:




  • Educational certificates

  • Membership badges

  • Event attendance proofs

  • Reputation systems

  • Identity credentials

  • Soul-bound tokens



Rather than functioning as currency, these tokens act as verifiable digital records tied to a specific wallet.









Why This Matters



What stood out to me throughout this exercise was how much functionality can be configured without writing a custom Solana program.



In a typical Web2 architecture, implementing these features would likely require:




  • APIs

  • Databases

  • Background jobs

  • Access-control logic

  • Payment processing systems



With Token-2022, many of these behaviors can be embedded directly into the asset itself.



A transfer fee becomes part of the token.



Interest accrual becomes part of the token.



Transfer restrictions become part of the token.



The asset carries the logic.









Final Thoughts



Token-2022 has changed how I think about digital assets on Solana.



Instead of building applications around tokens, developers can increasingly build behavior into the tokens themselves.



Over the course of these experiments, I created:




  • A token that collects fees

  • A token that accrues interest

  • A token that cannot be transferred



All without deploying a custom smart contract.



For a Web2 developer, the closest analogy remains middleware—but middleware for money.



The most interesting lesson from this week was seeing how different token behaviors can be achieved through configuration alone. Features that would traditionally require custom contracts, backend services, or application-level enforcement can be attached directly to the asset at mint creation.



That's a powerful shift in how we think about designing digital assets.

Vollständiger Original-Bericht
Ausführliche Details, Code-Beispiele & Hersteller-Stellungnahme auf dev.to.
↗ Original-Artikel auf dev.to lesen
Wie bewertest du diesen Beitrag?
1 Klick Feedback
Teilen mit Netzwerk & Team:

Community-Analysen & Experten-Meinungen 0

Verfasse deine eigene Analyse, teile Workarounds oder diskutiere diesen Vorfall im Blog.
Noch keine Community-Analyse verfasst. Markiere einen Textabschnitt oder klicke oben auf Eigene Analyse verfassen“!
Community Pulse: Relevanz-Einschätzung
1 Klick Experten-Votum
🔴 Akute Relevanz 0%
🟡 In Evaluierung 0%
🟢 Keine Auswirkung 0%
Spannende Innovation 0%
Verwandte Story-Cluster & Quellen (Vektor-KI)
Port 8095 Engine
1 Quelle
Hackers Just Poisoned the Rust Supply Chain | Threat Wire
1 Quelle
Hackers Found a Way Into Humanoid Robots | Threat Wire
1 Quelle
Bits und so #1021 (Passwort für Laufwerk)
Ähnliche Beiträge
🔍 Verwandte News

Auch interessante Nachrichten Token-2022 Feels Like Middleware for Money

Thematisch verwandte Begriffe: Token2022, Feels, Like, Middleware · 6 Treffer

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...

Laden...

Beiträge werden geladen ...

Laden...

Videos werden geladen ...