Backend Engineer | Web3 | Golang | Laravel | Mod @BerfBased

127.0.0.1
Based in Nigeria
Database Transactions One thing you don't want in a wallet system is money leaving one account without reaching the other. I am building PropInvest, a property investment platform where users can fund wallets and invest in real estate. When an investor puts money into a property, the system needs to: - Deduct funds from their wallet - Create the investment record - Update the property's funding status - Log the transaction Now, what happens if the wallet is debited, but the server crashes before creating the investment? The investor's money is gone, but they don't own any shares. That's a nightmare. This is why database transactions matter. A database transaction lets you group multiple operations together so they either all succeed or all fail. If the wallet debit, investment creation, and transaction log all succeed, the transaction commits. If any step fails, everything rolls back. The wallet stays untouched. No partial state. This is called atomicity, the A in ACID. ACID stands for: - Atomicity: All operations succeed, or none do. - Consistency: The transaction preserves database rules and constraints. - Isolation: Concurrent transactions don't interfere with each other. - Durability: Once committed, changes persist even if the system crashes. For PropVest's wallet operations, every debit, credit, and record is wrapped in the same database transaction. One important detail though: this protects database changes within that transaction. It doesn't automatically reverse an external action, like a payment already sent to Paystack. That is why I also used idempotency keys, locked balances, and reconciliation workers. But transactions were the foundation. When handling money, a successful API response isn't enough. You need to make sure the underlying operations are actually safe. Never assume your code will complete every step. Design your database operations to handle failure.
2
1
2
37
Transactional Outbox Pattern One thing I've implemented in PropInvest - a platform I am building for fractional real estate ownership, is the Transactional Outbox Pattern. Say you're building a wallet system for property investments. A user purchases shares in a property. You debit their wallet, credit the property pool, and commit the transaction. Then you publish an "investment_completed" event to Kafka (or any other message broker e.g RabbitMQ) so that the notification service can alert the user and update their portfolio. Simple enough, right? But what happens if your application crashes after the database commit but before publishing the event? The investment succeeded, money moved, but the notification was never sent. Other services that depend on that event - like portfolio tracking - may never know the investment happened. Now, if you publish the event before committing the transaction, you have the opposite problem. The event gets published, but the database transaction might fail. Other services are reacting to an investment that never actually went through. This is the dual-write problem. The Transactional Outbox Pattern solves this by saving the business data and the event in the same database transaction. If the transaction commits, both are saved. If it rolls back, neither is saved. A separate worker reads pending events from the outbox table, publishes them to the message broker - Kafka in this case, and marks them as processed. If the worker goes down, the event is still in the database and can be published when the worker comes back up. But there's a catch. The worker could publish an event successfully, crash before marking it as processed, and publish it again after restarting. That means duplicates are possible. This is where idempotency comes in. Give every event a unique ID, and let consumers track which events they've already processed. If an event arrives again, the consumer can safely skip the duplicate. The same principle applies to API requests. If a client retries an investment purchase because of a timeout, an idempotency key helps prevent the same shares from being purchased twice. One thing to keep in mind: the outbox prevents the database change and the intent to publish from getting out of sync. It doesn't guarantee exactly-once delivery or processing. You still have to handle retries and duplicates yourself. The outbox handles reliable event delivery. Idempotency handles repeated execution. Both matter when building systems where a missed event or a duplicate operation can cause real problems - especially when real money is involved.
1
2
3
195
When a deal is accepted, we don’t move money in the API. We send a Kafka message to "otc_order_processor." An external service picks it up, moves the funds and securities, then calls back with settle_success or settle_fail.
1
12
Two balance checks happen before any deal goes through, 1) When the bargain is opened (pre-flight). 2) Again inside the database transaction. This is because price/balance can change. You can’t trust state from 10 minutes ago. N.B = there is also a balance guard in the consumer
1
14
Before a db transaction is opened, we mark the bargain as "processing" so that if the server crashes during the transaction, we won't lose track of what was happening. The Kafka consumer checks for orphaned "processing" bargains and recovers them
1
12
If an offer is negotiable, the user can suggest a different price or quantity. The dealer can accept, counter, or reject. The counter/negotiation process continues until someone agrees, walks away/cancels the negotiation or rejects a bargain. Every action is a state transition.
1
17
I just built an OTC trading system in Go, and honestly, it was one of the more humbling projects I've worked on. OTC (Over the counter) means: - Dealers list bonds or securities privately - Users buy or negotiate the price directly Here’s what really went into it:
3
6
344
POW 🦾- Hit me up for top tier moderation for your web3 projects Huge thanks to the teams I've worked with for the kind words. It's rewarding to know the effort is appreciated 🙏.
POINTS TO NOTE TO LEVEL UP YOUR GAME AS A MODERATOR In my sojourn as a moderator for web3 projects (hehe sojourn), here are some skills/points I have noted, that you will need to level up your game as an A-grade moderator:
1
2
70
LIFE AUDIT Full disclosure, the first few months of this year, hell the past year, has been chaotic as hell for me. It has been a very intense roller coaster, sometimes with more lows than highs 👇
1
1
2
301
Replying to @youlovebeejay
Let's win this @Defi__Priestess @Nigecoin
1
39
Gm To believers Here's the to-do list ● keep clicking ● keep clicking ● keep clicking Not stopping
28
Gm everyone! Be sure to rank up today! Level 100 awaits! 🦾 🔥
1
1
82
Bm to everyone who says Bm. @base Q1 comes to an end in a few days. Congrats if you've had a great quarter; if you haven't, it isn't too late to lock in now. Change the narrative, finish strong.🦾 Rooting for everyone who's trying their best. Wagmi at some point...Gm gm!
2
2
77
5/ TL;DR ▶️ Ice Shards = SOL tokens. ▶️ Staking = Lending your Ice Shards (SOL tokens) to validators to help maintain Solana's network in exchange for a reward - APY. ▶️ Validators = Knights who keep transactions on the network smooth and secure. ▶️ IceSol = The best SOL Knight - the Ice Knight, offering top APY, security, and reliability for stakers.
1
66
4/ Enter Ice Staking @icestaking_ In a kingdom of many Knights (validators) , Ice Sol stands out above the rest as the Ice Knight Prime 🥶 ✅️ It offers the #coolest, highest APY, meaning you'd get more #ice shards (SOL tokens) for your trust. ✅️ It maintains the strongest, most #icy platform, ensuring smooth, secure transactions with zero cracks. ✅️ it is the most efficient and reliable choice for stakers in the "Kingdom" of Solana. @SuperteamEarn
2
1
55
2/ Validators - The Knights of Solana Staking A validator is a person who confirms transactions in a blockchain. Validators on Solana process and verify transactions, and keep the network running smoothly. Imagine living in a kingdom of Solana. The roads are pure shimmering #iceCold highways stretching as far as the eye can see. This Network of "roads" needs constant maintenance. If they crack, the whole Kingdom collapses. So, the people of Solana donate (i.e, stake) their magical #ice shards (SOL tokens) to the Knights (validators) who use them to strengthen and protect the highways.
1
69
@SOLANA STAKING Staking in crypto is the practice of locking up your coins/tokens in order to earn rewards. Solana is a Proof-of- Stake (PoS) blockchain. Staking on Solana means locking up your SOL tokens with a validator.
3
2
5
180
Gm to every believer out there And BM if you GM...
2
5
94
Replying to @WhaleEverything
$Berf has the strongest community on @Base.
2
1
2
16
Replying to @1000xgirl
$Berf is programmed! #GetBerfed stay Based!
1
10
Replying to @henokcrypto
All $Berf Chads vote Trump! #GetBerfed
10
$Berf the chef 🔥
2
37
$Berf for me, $Berf for you, $Berf for all of us!
1
18
Replying to @gokhshtein
$Berf stands with trump 💯
1
146
No one does it like $Berf
1
15
$Berf and CR7 are buddies! We've got 'something' for you:)👇🏼 #PONKEARMY
Did $BERF take this one too far?🥛@ponkesol
5
1
2
254
Replying to @JakeGagain
Happy 4th of July from $BERF on @base, the sloth #meme that is set to take crypto by storm. The $Berf family is expanding! Be a part of our journey to greatness together. #GetBerfed
The self proclaimed Boss of Base shows the world what it's like to embody the $BERF Ego
3
1
81
Replying to @BerfBased
CR7 Berf!!
1
25
Replying to @Fityeth
Make America great again with $BERF! #GetBerfed
$BERF and the gang capture a mysterious masked meme.
2
1
2
45
Replying to @BerfBased
$Berf has spoken!
41
Replying to @henokcrypto
God candles are loading in the $BERF charts! $BERF on @base has been consolidating for days now and is due for an insane bullish run. #GetBerfed
$BERF and the gang capture a mysterious masked meme.
2
2
5
114
Replying to @coingecko
$Berf on @base is going to moon so hard in July. $Berf has amazing animations with even more rolling out every week, a strong community, and over 500k holders with lots of new holders coming in every day! #GetBerfed
$BERF and the gang capture a mysterious masked meme.
3
5
6
88
Replying to @Fityeth
Trump is pro- $Berf! Even trump knows that $Berf is #based af, Chad knows Chad! #GetBerfed
Did $BERF take this one too far?🥛@ponkesol
3
2
6
41
Replying to @travladd
Don't fade $Berf on @base, it is going to moon so hard soon! $Berf has a talented team of illustrators and it shows in the quality of their content. Grab a bag and hold on tight! It's going to be a wild ride! 🚀 #GetBerfed
$BERF and the gang capture a mysterious masked meme.
4
2
4
106
I'm super bullish on $Berf on @base. It's a <$10m MC gem on base that's prime for a 100x easy. They've got insane animations, lots of buyers and liquidity is fat and locked for 4 years...it's just about my biggest bag at the moment. #GetBerfed
$BERF and the gang capture a mysterious masked meme.
5
3
4
57
Replying to @Fityeth
The sloth #meme is here and it's $BERF on @base. It's got the coolest memes and animations, an active community and once this accumulation phase is over, it's going to moon so hard! 🚀 #GetBerfed
$BERF and the gang capture a mysterious masked meme.
4
3
3
39
$BERF on @base is the hottest #memecoin in crypto at the moment! Super Bullish on these guys, they've got it all - dope animations, a strong community of diamond handed chads and a team that is actively building. This will moon hard soon! #GetBerfed
$BERF and the gang capture a mysterious masked meme.
6
3
5
82
Replying to @BNBCHAIN
$BERF on @base is the next undercover gem programmed to hit 100x. They've got some really amazing animations, team is working hard behind the scenes and the charts look ready to send! 🚀 #GetBerfed
$BERF and the gang capture a mysterious masked meme.
4
2
2
62
Replying to @MonstersCoins
$Berf on @base is an underated gem with a based team working hard behind the scenes, an active community of chads and the chart looks ready to send. Join the basement gang and get ready to print gains! #GetBerfed
$BERF and the gang capture a mysterious masked meme.
4
3
4
79
Replying to @IcedKnife
We're not selling $BERF until it hits 9 digits! #GetBerfed
$BERF and the gang capture a mysterious masked meme.
2
2
2
54
Imagine not owning $Berf, the most based meme in crypto! Join the coolest crew on #Base! #GetBerfed
$BERF and the gang capture a mysterious masked meme.
2
1
2
67
Transform your crypto experience with $BERF. #GetBerfed
$BERF and the gang capture a mysterious masked meme.
4
3
4
148
Replying to @BerfBased
#Berf is King, honor him!
20
Replying to @IcedKnife
$Berf on #Base checks all the boxes! Join the basement gang and get ready for a wild ride! #GetBerfed
$BERF and the gang capture a mysterious masked meme.
3
1
3
48
Replying to @travladd
$Berf on #Base is your ticket to good vibes and massive profits! Grab a bag, get 'Berfed' and join the coolest crew in crypto! #GetBerfed
$BERF and the gang capture a mysterious masked meme.
3
2
2
83
Replying to @travladd
Do not miss out on the amazing content from $Berf on #Base every week! New animation, Diary Entry, music videos and lots more!! Can you feel the vibe? 💥 #GetBerfed
$BERF and the gang capture a mysterious masked meme.
4
2
3
135
Replying to @Fityeth
$Berf is the best meme to buy now! $Berf is gearing to break previous ATHs, you don't want to miss it! #GetBerfed
$BERF and the gang capture a mysterious masked meme.
4
4
6
46
$BERF is more than hype--its a movement. Grab a bag and come hang with some of the coolest people in crypto! #GetBerfed
$BERF and the gang capture a mysterious masked meme.
5
5
5
62
Replying to @MonstersCoins
Don't miss out on the next big meme in crypto. Buy $Berf and watch your profits fly! #GetBerfed
$BERF and the gang capture a mysterious masked meme.
4
2
3
43
Replying to @SharksCoins
Fading $Berf 🤝🏼 NGMI #GetBerfed
$BERF and the gang capture a mysterious masked meme.
6
3
5
60
$Berf is all about reaching new heights. Dream big with $Berf #GetBerfed
$BERF and the gang capture a mysterious masked meme.
5
3
3
82
Replying to @barkmeta
$Berf is not just a meme, it's a vibe! Grab your berf bags and ride this wave together! #GetBerfed
$BERF and the gang capture a mysterious masked meme.
3
2
4
79
Replying to @ApeCryptos
Fading $Berf on #base at these levels will cost you #GetBased
$BERF and the gang capture a mysterious masked meme.
3
2
3
70