Instant sale feature in Metaplex NFTs? - solana

I have an NFT listed in my Metaplex (instant sale). However I want to sell them in my e-commerce site and just take all the necessary information for me to display and proceed the sale there instead in metaplex. I notice in the solana explorer of my NFT, the owner now is not my wallet(which is the 2nd row) and (I think the current owner wallet is generated by metaplex once you listed it via instant sale? I am not sure please let me know). Now I want to create a sendtransaction and basing all info to this wallet address and with that I need its keypair to sign it off. Basically I want to transfer an NFT from my wallet to other wallet. My question is where do I get the keypair of this metaplex generated wallet(assuming it is from them) so I can proceed with the send transaction or do I miss something in order for the sendtransaction to work?

I assume you are using the storefront auction manager mechanism.
Auction manager takes over the ownership of the mint when listing.
It is not possible to get the KeyPair of the auction manager as this is discarded after the creation of the account.
However, your wallet will be the authority on the auction manager, which means that you can end the auction early and reclaim your NFT.
You can do that via your storefront!
Once you have the NFT back, you then send it to your other wallet and then relist from there.
PS. The upcoming Auction House (v2) framework is escrowless, meaning that in the future you will be able to list NFTs while they stay in your wallet. However for now (and if you are using the current v1 Storefront), you temporarily lose ownership of the NFTs while they are in auction.

Related

Trying adjust displayed info on OpenSea of Solana NFT collection

I created a Solana NFT collection using Candy Machine v2 (CM) and OpenSea automatically found and displayed the collection. Their documentation states that one should be able to adjust the info displayed about the collection on OpenSea when connecting a creator wallet to OpenSea. However, I don't see the collection when I connect the creator wallet.
This is the CM:
https://www.solaneyes.com/address/B5HzhwdBCUL2jboP2Q4bdeRozBe6XJj7AkNFNNpyyMyF?cluster=mainnet
When I created the CM I used a Solana CLI wallet to hold the update authority and I don't want to import this wallet into a web wallet as I then loose the ability to update the CM via sugar and my CLI wallet. However, it seems that many Solana projects were able to edit their info displayed on OpenSea so I must be missing something simple. Does anyone have experience?
As this official page of opensea says:
Creators can access their collection by connecting with the Solana wallet address of the update authority for your collection. You’ll be able to edit OpenSea-specific items like your logo and collection name, but creator earnings can only be edited on-chain.
and I see you said:
When I created the CM I used a Solana CLI wallet to hold the update authority and I don't want to import this wallet into a web wallet as I then lose the ability to update the CM via sugar and my CLI wallet.
you won't lose. add your wallet(collection update auth) to the phantom extension and after completing your adjustment remove it.
for adding a new wallet from Solana CLI to phantom extension:
open up your new wallet by vs code and copy its content
open up your phantom extension and hit add/connect wallet->import private key
paste copied wallet to the private key placeholder and also give it a name
done
another point to mention is if you look at this page from solscan website, you can see your collection creators are not verified. you can verify them with metaboss tools easily.
Cheers

Does creating a token account on Solana make it rent free automatically?

I have create a token on the devote and have created token account which I can transfer my token to successfully. I notice that a Solana fee is taken when I do this.
I also understand that I have to deposit enough Solana into an account to pay for rent or have 2 years worth of Solana to make it exempt.
When I create the account (using the code below) is it automatically making the accounts rent exempt or do I have to transfer additional Solana to do so.
How can I do this?
Code:
const tokenAccount = await getOrCreateAssociatedTokenAccount(
connection,
payer,
mint,
payer.publicKey
)
All new accounts now require to be rent exempt cf https://docs.solana.com/developing/programming-model/accounts#rent
So any accounts initialised successfully will be rent exempt. You don't have to worry about anything
Yes, an associated token account created by this call will be rent exempt. You can see it in the associated-token-program source code.

How to verify identity for google play console as individual?

Google play console is requesting to verify my identity.
The problem is that the verification form is asking for an organization info and docs while the account is for individual and that is provided in the account details screen.
So what am I missing? Where to go? Or how to contact google support?
I had this after emailing googleplay-developer-support#google.com. Solution: Your payment profile shouldn't be set as organization if your developer profile is set to individual and vice-versa.
Per checking, the payments profile associated with your account is set as an organization. You may choose to verify your account as an organization with the following documents that our system accepts: Certificate of Organization, and a valid ID of the organization's Official Representative.
If you would like to verify as an individual and change the entity type on your payments profile, you would have to create a new account in order to change from organization to individual. You may view your payments profile via pay.google.com
To change the entity type on your Payment Profile, it would need to be deleted and created again. Since a Play Console account can only be associated with one Payment Profile, it will need to be deleted and recreated as well.
To resolve the issue, we can close your Play Console account and refund the registration fee. Then, you can delete your payment profile at pay.google.com before you sign-up for a new Play Developer account. To proceed, please provide confirmation by responding with “I confirm to have my Play Console Developer account closed and have its registration fee refunded.” Also, please remove the existing draft app from the Developer account
I had this issue recently and it turned out it was because I had an old Payment Profile with Account Type of 'Organisation'.
You need to go here: https://pay.google.com/gp/w/u/0/home/settings
Personally, I had two payment profiles; one was for an Individual and one was for an Organisation. Maybe the Organisation one was the default or whatever.
In the end I managed to close that payment profile and create a new developer account after having the first one refunded.
There were a few emails to Google Support going back and forth but that solved it in the end and now I have an app on the Play Store.

solana transfer nft to any address web3js

I want to make a transfer from my wallet to another wallet with code. I use web3.js and I made a Solana transfer, but I don't know how to make an NFT transfer.
NFTs on Solana are represented as SPL tokens, which can be transferred in JS using the "#solana/spl-token" package on npm: https://www.npmjs.com/package/#solana/spl-token
There's an example of how to use it at https://github.com/solana-labs/solana-program-library/blob/master/token/js/examples/createMintAndTransferTokens.ts and in the repo tests.
You can find more information on SPL tokens at https://spl.solana.com/token
NFT transfer is same as normal spl-token transfer.
Prior to transfer NFT, you need to know its Token Mint Address or its Associated Token Account of yours.
Also need to know receiver's Associated Token Account of NFT Mint Token Account.
If receiver doesn't have associated token account, you or he need to create it first.
If you are not familiar with the account types, please read my article on medium.
https://medium.com/#blockchainlover2019/how-to-verify-ownership-of-metaplex-nft-programmatically-at-on-chain-1059418c3c6
Transferring token by using web3 is easy and not knowhow knowledge.
This is my code from Solana program (smart contract), which transfers nft from one to another.
let transfer_ix = spl_token::instruction::transfer(
token_program.key,
nft_account_to_send.key,
nft_account_to_receive.key,
&pda,
&[],
1
)?;
invoke_signed(
&transfer_ix,
&[
nft_account_to_send.clone(),
nft_account_to_receive.clone(),
pda_account.clone(),
token_program.clone(),
],
&[&[&b"nft_transfer_is_easy"[..], &[_nonce]]]
)?;
I will add another code for you, which runs on web3.

How do I create a user wallet in Stripe?

I’m trying to create a wallet for a user in Stripe. Other uses can donate into another user’s wallet and that user can withdraw the funds into their account. This account should remain untouched by the account owner and controlled by the software.
This will need to be seperate from the primary account which holds funds for subscriptions from users which the Stripe account owner can withdraw (income).
Is this possible with Stripe/Stripe Connect and can anyone point me in the right direction?
You'd indeed need to use Stripe Connect for this.
This isn't really a programming question so you likely won't find much help here. You should reach out Stripe's support directly at https://support.stripe.com/email and explain your business model with as much details as you can (who you are, who your users will be, where are you and they located, what would a sample transaction look like, etc.). They will be able to guide you and help you design your payment flow using Stripe's API.
You can create a wallet by using charge feature of stripe i.e. for nodeJs it is stripe.charges.create({}) function.
It may vary depending upon your language of choice. You can prompt the user to recharge his wallet and create a charge through which you can transfer the amount to the admin account use a parameter in your db to store the user's current wallet balance for each payment deduct the required amount from the said user's account and add it to the other user's account.
Click here for more details !
Cheers!

Resources