Links

Provenance Campaigns

This page illustrates how to directly interact with campaigns created through the Provenance SDK

Project Setup

  1. 1.
    Please contact [email protected] and pick your selection of pipelines from the above table. Note that some of the pipelines, e.g. sumAdminRepliesDiscord, requires additional parameters such as Discord server ID and channel ID, and sumProjectPostRetweetsTwitter, requires Twitter handle. We will follow up if information is missing.
  2. 2.
    We will reply with your apiKey and apiSecret once the project setup is finished.

Create CliqueClient

const client = new CliqueClient({
env: Environment.Production,
apiKey,
apiSecret,
});

Get Statistics

const data = await client.campaign.getStatistics({
walletAddress,
twitterAccessToken,
});
console.log(data);
// response
{
statistics: {
numFollowersTwitter: 95,
avgFollowersD2Twitter: 752,
avgPostImpressionsTwitter: 0,
isFollowingTwitter: true,
sumLikesTwitter: 0,
sumRetweetsTwitter: 0,
sumCommentsTwitter: 0,
numProjectPostsTwitter: 0,
sumProjectPostImpressionsTwitter: 0,
timeCreatedTwitter: '2009-01-13',
botometerScoreTwitter: 2.6,
walletBalanceEth: '2.848517672086863238',
numNFTsDigiDaigaku: 0,
numNFTsAzuki: 0,
numNFTsIllogic: 0,
numNFTsBAYC: 0,
numNFTsMAYC: 0,
numNFTsCryptoPunks: 0,
numNFTsOtherdeed: 0,
numNFTsCloneX: 0,
numNFTsMoonbirds: 0,
numNFTsDoodles: 0,
numNFTsKaijuKingz: 0,
numNFTsRENGA: 0,
numNFTsCastaways: 0,
numNFTsGoblintown: 0,
numNFTsMyPetHooligan: 0,
numNFTsArtGobbler: 0
},
twitterIdHash: '0x4279ce559b4ed645b8b26c8b86959be5ee8770b4b6af48e9c59c3fefa785c696',
discordIdHash: null
}js

Submit Entry

const submitEntryResult = await client.campaign.submitEntry({
walletAddress,
twitterAccessToken,
});
console.log(submitEntryResult);
{
id: '20xe47a08ea5a539d568822e36fa49e400ede6c1710',
receiverAddress: '0xe47a08ea5a539d568822e36fa49e400ede6c1710',
twitterIdHash: '0x4279ce559b4ed645b8b26c8b86959be5ee8770b4b6af48e9c59c3fefa785c696',
metadataId: '2',
credential: {
numFollowersTwitter: 95,
avgFollowersD2Twitter: 752,
avgPostImpressionsTwitter: 0,
isFollowingTwitter: true,
sumLikesTwitter: 0,
sumRetweetsTwitter: 0,
sumCommentsTwitter: 0,
numProjectPostsTwitter: 0,
sumProjectPostImpressionsTwitter: 0,
timeCreatedTwitter: '2009-01-13',
botometerScoreTwitter: 2.6,
walletBalanceEth: '2.848517672086863238',
numNFTsDigiDaigaku: 0,
numNFTsAzuki: 0,
numNFTsIllogic: 0,
numNFTsBAYC: 0,
numNFTsMAYC: 0,
numNFTsCryptoPunks: 0,
numNFTsOtherdeed: 0,
numNFTsCloneX: 0,
numNFTsMoonbirds: 0,
numNFTsDoodles: 0,
numNFTsKaijuKingz: 0,
numNFTsRENGA: 0,
numNFTsCastaways: 0,
numNFTsGoblintown: 0,
numNFTsMyPetHooligan: 0,
numNFTsArtGobbler: 0
},
discordIdHash: null,
status: 'Entered',
createdAt: 1669101175743,
updatedAt: 1669101175743,
_id: '637c7677a01cc35abb1e5c67'
}

Update Entry

const updateEntryResult = await client.campaign.updateEntry({
walletAddress,
twitterAccessToken,
});
console.log(updateEntryResult);
{
_id: '637c7677a01cc35abb1e5c67',
id: '20xe47a08ea5a539d568822e36fa49e400ede6c1710',
receiverAddress: '0xe47a08ea5a539d568822e36fa49e400ede6c1710',
twitterIdHash: '0x4279ce559b4ed645b8b26c8b86959be5ee8770b4b6af48e9c59c3fefa785c696',
metadataId: '2',
credential: {
numFollowersTwitter: 95,
avgFollowersD2Twitter: 752,
avgPostImpressionsTwitter: 0,
isFollowingTwitter: true,
sumLikesTwitter: 0,
sumRetweetsTwitter: 0,
sumCommentsTwitter: 0,
numProjectPostsTwitter: 0,
sumProjectPostImpressionsTwitter: 0,
timeCreatedTwitter: '2009-01-13',
botometerScoreTwitter: 2.6,
walletBalanceEth: '2.848517672086863238',
numNFTsDigiDaigaku: 0,
numNFTsAzuki: 0,
numNFTsIllogic: 0,
numNFTsBAYC: 0,
numNFTsMAYC: 0,
numNFTsCryptoPunks: 0,
numNFTsOtherdeed: 0,
numNFTsCloneX: 0,
numNFTsMoonbirds: 0,
numNFTsDoodles: 0,
numNFTsKaijuKingz: 0,
numNFTsRENGA: 0,
numNFTsCastaways: 0,
numNFTsGoblintown: 0,
numNFTsMyPetHooligan: 0,
numNFTsArtGobbler: 0
},
discordIdHash: null,
status: 'Entered',
createdAt: 1669101175743,
updatedAt: 1669101177466
}