I'm newbie in programming, so the questiong is: is there any guides how i can create staking pool on solana ecosystem for created token? And what is the steps?
By staking, I assume you mean liquidity mining.
You can plug in quarry -- https://github.com/QuarryProtocol/quarry and use their already existing program to create a new liquidity pool
Related
I have been using the spl-token whitelist based approach via the the CLI with Candy Machine V2 up to this point. Sending WL users a token that is registered as the WL token in the Candy Machine config. This route has been ok but I would like to switch to a wallet based approach where wallet addresses are detected automatically without the need to send out tokens. I have been looking online for some documentation / notes on how this can be done but haven't been able to find much (might just be looking for the wrong thing). Is this possible to set up with Candy Machine V2? If possible, does anyone know of some good resources I can check out that could help me get this done? I would need the ability to set up multiple whitelists.
Any help is appreciated!
You can do wallet based whitelisting with candy machine v2 together with gumdrop.
You would have to use claim-integration candy and distribution-method wallets. This will allow the given wallet to claim the wl token and since you are using claim integration candy will directly build the mint transaction, too. Therefore the user will only have to confirm one tx and would only see the wl token if the second transaction fails.
This is closest to what you can get to wallet based whitelisting with cm v2.
Keep in mind though that by default you have to give every user a personal claim link which contains a merkle proof that allows them to claim. Either use a discord bot where they can pull their claim link or modify the frontend to include the proofs and automatically fill it there.
Its not possible to set up a Wallet-based whitelist using the deployed CandyMachineV2 Program. The only way of having this feature is grabbing the CMv2 program and update it to allow Wallet Whitelist instead of SPL-Token whitelist, then deploy your new CMv2 and use that new program ID in ur mint page and ur CLI to create and update the CandyMachine
Understanding that it is pretty straightforward to fetch the current owner of a NFT on Solana (get holder of solana nft using python), how could we get the owner at certain timestamp in the past?
One way I could think of is to get all the transfer transactions of a particular NFTs and sort all the from address by time. Just wondering if there are better ways.
Your pitched approach is the only possible one currently: Going through all transactions and filter them.
You could for example check how the solana explorer is doing it in the Token Transfer Tab: github
I am a little confused about the workflow of NFT's on the Solana blockchain. I come from Ethereum and everything there is very clear. There is a smart contract that is executed on the blockchain which requires a specific amount of Ether to accept and you send the transaction out to the mempool to be picked up by a miner.
On Solana from what I've gathered is, the NFT creator creates a token using SPL that gives them an ID. Then someone else can create an account under one of their wallets to accept that specific type of token that was created. Then that person can use that account to mint the NFT using the ID we got earlier. Is that all correct?
If someone could please clear up the some of the things below it would be greatly appreciated.
Where does Candy Machine come into play here?
What's the difference between the Mint Authority and the Update Authority?
Does a collection need to run the spl create-token command for every single token?
The Candy Machine by Metaplex (https://github.com/metaplex-foundation/metaplex) is the standard smart contract (actually known as programs in Solana) being used at the moment for minting NFTs in the Solana ecosystem.
It abstracts away from all the details you have described so people can simply clone and deploy the repo more or less rather than write your own contracts as in Eth.
An NFT in Solana is an SPL token with a metadata struct set to the Metaplex standard (i.e. a URI on-chain pointing to more metadata off-chain). This is the current agreed-upon standard for NFTs on Solana.
You are also right in saying Solana SPL tokens require an account to be created to "receive" NFTs or mint them as well. A new account will be created for each NFT. This is handled by the Candy Machine as well as the SPL token program built into Solana itself, so normally you don't have to deal with this unless writing your own contracts possibly. Check Solana docs / Anchor framework docs for more info on programming on Solana.
I've created some NFTs on the Solana Blockchain and now have them in my Phantom Wallet.
How would I create a website that checks the users' wallet to see which NFTs they have in it, eg to make them available in a web based game I might create?
I can't see any info on this in the Phantom docs but it must be possible since sites like Solsea do this.
Any pointers appreciated!
If you haven't got the user to connect their wallet at this point, I would recommend the anchor wallet library.
Some relevent resources can be found here for actually retrieving solana nft metadata:
Get the list of assets associated to a Solana wallet address
Code sample for parsing metadata for Solana NFT and updating the metadata
#solana/web3.js Is there an API for ERC721 Metadata?
I understand how to create multisig accounts as specified in the below documentation but am not sure how this works in practice. Suppose I have a partner, we both create a new keypair, and we both need to sign a transaction. The point is that I don't know his keypair and he doesnt know mine.
So how do you setup a process where we both sign a transaction from different computers neither knows the other's keypair info?
https://spl.solana.com/token
For a multisig allowing for transaction signatures from unconnected computers, you'll want to check out the Serum multisig example program: https://github.com/project-serum/multisig
As you've noticed, the native multisig functionality in the SPL token program is limited in this domain.
a bit late to this thread but wanted to share our latest solana multisig product here, in case you might find it useful. as Jon C mentioned, serum multisig and SPL token program are both great options and have been well adopted within the ecosystem. SPL token is more suited to DAO governance use case.
Snowflake Safe is gearing towards teams and secure individuals with a little more focus on the UX side.
DAPP : https://safe.snowflake.so
SDK : https://github.com/snowflake-so/snowflake-safe-sdk