Staking ERC1155 Base
The Staking1155Base
smart contract implements NFT staking mechanism for ERC1155. It allows composition of ERC1155 NFT Collection and ERC20 Token contract into a staking mechanism.
The base contract provides for customization of staking logic. Contract admins can implement their own reward mechanisms by overriding existing functions.
Unlocked Features
Once deployed, you can use the features made available by these contracts on the SDK and dashboard:
Click on each feature to learn more about what functions are available.
Implementing the Contract Extension
Import the contract extension and make your contract inherit it.
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;
import "@thirdweb-dev/contracts/base/Staking1155Base.sol";
contract MyContract is Staking1155Base {
constructor(
uint256 _defaultTimeUnit,
uint256 _defaultRewardsPerUnitTime,
address _stakingToken,
address _rewardToken,
address _nativeTokenWrapper
) Staking1155Base(_defaultTimeUnit, _defaultRewardsPerUnitTime, _stakingToken, _rewardToken, _nativeTokenWrapper) {}
}