❤️React
React to an NFT using a RARA reaction. This will generate an NFT (“Like Token”) for the Reactor. Add metadata to the reaction by including an IPFS hash.
{
transformId: Uint256, // The ID of the Reaction Transform you want to use
quantity: Uint256, // The number of Reactions you'd like to send
referrerAddress: Address, // The Address that should receive referrer cuts
optionBits: Uint256, // Parameter version of the Reaction you're using
takerNFTChainId: Uint256, // Chain ID of the NFT receiving the Reaction
takerNFTAddress: Address, // Contract Address of the NFT receiving the Reaction
takerNFTId: Uint256, // Token ID of the NFT receiving the Reaction
curatorVaultOverride: Address, // Override used for alternate Curator Vaults
ipfsMetadataHash: String // Additional metadata to be saved with Reaction
}Reaction Vault Contract Addresses
// Polygon Mainnet
0xE5BA5c73378BC8Da94738CB04490680ae3eab88C
// Polygon Mumbai
0xA374674F97885BD378059708e97f7117CB74683dReaction Vault Contract ABI
Reaction Vault ABI
{
address: "0xA374674F97885BD378059708e97f7117CB74683d", // Mumbai Address
abi:[{
name: 'react',
stateMutability: 'payable',
type: 'function',
inputs: [
{
internalType: 'uint256',
name: 'transformId',
type: 'uint256',
},
{
internalType: 'uint256',
name: 'quantity',
type: 'uint256',
},
{
internalType: 'address',
name: 'referrer',
type: 'address',
},
{
internalType: 'uint256',
name: 'optionBits',
type: 'uint256',
},
{
internalType: 'uint256',
name: 'takerNftChainId',
type: 'uint256',
},
{
internalType: 'address',
name: 'takerNftAddress',
type: 'address',
},
{
internalType: 'uint256',
name: 'takerNftId',
type: 'uint256',
},
{
internalType: 'address',
name: 'curatorVaultOverride',
type: 'address',
},
{
internalType: 'string',
name: 'ipfsMetadataHash',
type: 'string',
},
],
outputs: []
}]
}Send a Reaction with ethers.js and ipfs-http-client
ethers.js and ipfs-http-client[Optional] Save Reaction Metadata to IPFS
If you'd like to include a Comment or Tags with your Reaction, you'll need to save that information to IPFS first. If you just want to send a Reaction you can skip this step.
Send a Reaction and Reaction Metadata to an NFT
To send a Reaction to an NFT, use the react function of the ReactionVault. All parameters are required (see the Parameters section for more details).
Parameters
transformId
The ID of the reaction to be used. Only registered reactions can be used.
quantity
The number of reactions to be sent. If value is sent, the reaction quantity must equal the value / reactionPrice
referrerAddress
The address of the referring party. If value is sent, the referrer will be rewarded with value * saleReferrerBasisPoints. Use addressZero if no referrerAddress is set.
optionBits
This parameter can be used to create different versions of the reaction NFT. Use 0 if optionBits are not set.
takerNFTChainId
Chain ID of the NFT receiving reactions
takerNFTContractAddress
Contract Address of the NFT receiving reactions
takerNFTTokenId
Token ID of the NFT receiving reactions
curatorVaultOverride
This parameter allows for multiple Curator Vaults. Use addressZero if curatorVaultOverride is not set.
IPFSMetadataHash
This parameter can be used to embed additional data about the user interaction. Use maxInt256 if ipfsMetadataHash is not set.
Source Code
View the protocol on Github.
Last updated