🤯 Motivation
Ownership is one of the fundamental concepts of blockchain gaming. LocknPull takes it to the next level by using a new Lockable-ERC-1155 standard to allow players to securely “loot” NFTs from other players’ wallets upon winning a game. (Preapproval required.)
The high-performance and low-gas-cost opBNB is the optimal chain for implementing this LocknPull mechanism. Utilizing blockchain technology, the LocknPull structure can be easily adopted by other gaming projects to boost the fun factor & playability of blockchain games.
🎯 First, Try the LocknPull Demo!
STEP 1️⃣: Navigate to our demo: https://seekers.cards/looting/. You will be prompted to connect your wallet on the test opBNB chain. Don't worry about gas – we've got you covered!
STEP 2️⃣: Play our simplified mini-game: target desired NFT, battle & win, then loot the targeted NFT from opponent's wallet. (The gameplay is greatly simplified since our focus here is on the looting mechanism.)
STEP 3️⃣: Check the opBNB Scanner (replace the wallet address in the URL with your own) to see the NFT you've won!
⬇️ User Flow
1️⃣ Challenger requests to battle & selects a target NFT in the Challenged player's wallet.
2️⃣ Game Server calls NFT Manager to lock()
the targeted NFT to prevent the Challenged player from moving/selling it.
3️⃣ Battle for supremacy!
4️⃣ If Challenger wins (green path), the unlockAndTransfer()
is called to unlock target NFT and transfer it to the Challenger's wallet. If Challenger loses (blue path), the unlock()
is called and the target NFT remains in the Challenged player's wallet.
💻 Smart Contract
Addresses (opBNB testnet)
Looting Contract: 0x54DEB0B88fcc483CFd06Ba8729D98a269454eDE9
Token Manager: 0x21ba0ae36317c9382fe374f819995f45a99ceec5
Challenged Player's Wallet: 0x21ba0ae36317c9382fe374f819995f45a99ceec5 (set to the Token Manager Address for convenience)
Functions
setApprovalForLock(address locker, bool approved) external
: Approves the locker
address with the permission to lock tokens.
lock(address account, uint256 id, uint256 locknum, uint256 expired) external
: Locks the token id
in a specified wallet address
until the expired
time.
unlock(address account, uint256 id, uint256 unlocknum) external
: Unlocks the token id
in a specified wallet address
.
unlockAndTransfer(address from, address to, uint256 id, uint256 unlockNum, uint256 transferNum, bytes memory data) external
: Unlocks the token id
in the from
address and transfers the tokens to the to
address.
♠️ About Seekers Alliance
Seekers Alliance is a Web3 gaming project (target launch late 2024). We figured that hackathons are the best motivators and milestones for us to complete parts of our game. 🤣
Last December, our team won first place in the onsite BNB Chain Hackathon at Taipei Blockchain Week by showing people how to fairly and flexibly draw randomized loot using opBNB VRF. This tech allows players to mint cards from card packs with preset and published odds. After minting cards and building a deck, players can now battle for each other's cards using the LocknPull mechanics.
The original concept for the Seekers Alliance game was inspired by the popular manga & anime series, Hunter x Hunter. In Seekers Alliance, just like in Hunter x Hunter, the first player to seize all one hundred “Bounty Cards” beats the game and wins the Game Jackpot.
By minting NFT cards in Seekers Alliance using opBNB VRF, players contribute to the growing Game Jackpot on the opBNB chain. These assets can be staked, lent, and otherwise utilized across various DeFi projects on opBNB to generate even more value.
Seekers Alliance will generate the largest on-chain gaming jackpot and onboard millions of users to opBNB. By leveraging the low-cost and high-performance capabilities of the opBNB chain, LocknPull unlocks the full potential of NFT-based gaming. Let’s change the game together!