Harness the power of the community!
Help spread the word!
Start by pasting a link to a tweet, like below
* Use up to 148 characters when creating tweet
Edit campaign details
Claim your reward
How to start a campaign
1) Open/install MetaMask add-on and connect your account
2) Start by submitting chosen tweet to be oraclized
You will be prompted by MetaMask to pay the gas fee
3) It will take a little while for the oracle to retrieve the tweet
You should see a "Checking tweet, please wait..." in the meantime
4) Wait until the oracle sucessfully stores the tweet
You should see the option to "Create campaign" or "Claim a reward"
Click on "Create campaign" button
5) You will be prompted to pay the initialization fee of 1 Ether
After the transaction is confirmed, you should see all campaign details to fill in
6) Fill in the blanks
Put minimum amount of followers that you request your posters to have, topic, reward amount and total campaign budget
7) Now press "Create"
This should initiate another MetaMask transaction to transfer the budget to the campaign
8) Once the campaign is created, you will see it listed among other active campaigns
Sometimes the Oraclize process succeeds, but the resulting text is empty :(
To the contract, an empty string is the same as if the tweet was never oraclized
This can also happen if the tweet is too long requiring enormous amount of gas to be stored
The page will timeout with an error message "Something went wrong with oraclizing this tweet"
If this happens and tweet is not too long, try refreshing the page or wait couple of minutes before you try again
How to claim a reward
1) How about earning a reward?
It's easy. Click on the text of the campaign to copy it to the clipboard and go post it on Twitter
2) Now let's claim a reward for our post.
Copy your tweet url. Submit this link to be oraclized, e.g. `https://twitter.com/topicshare/status/1100603141198888961`
3) After the tweet is oraclized, press "Claim reward" and select "Campaign ID"
This should initiate another MetaMask transaction that will confirm your follower count, as requested per campaign
4) f all conditions are met you will see "Claim" option enabled in green color
Click on it and there will be a success message saying that you have been rewarded
5) If you look at the campaign again, you will see that the "Campaign Budget" has been reduced by the reward amount
If you don't have enough followers, as requested per campaign, you will see "Not enough followers!" message
If you already claimed the tweet or the text is not matching, you will see "This tweet won't work..." message and disabled "Claim" button
How to edit a campaign
1) You created a campaign, now what?
If you want to edit the reward amount per share, click on "Edit" button and confirm transaction
2) Now let's add some more ETH to keep our campaign running
Click on "Contribute" button, put in your contribution amount and confirm transaction
3) Now let's see how to close a campaign
Click on the close button and confirm transaction. In a moment you should see that campaign has been closed
What are the transaction fees applied?
Ethereum blockchain eco-system functions on gas (ETH). Gas is the price of an transaction on Ethereum blockchain. User that requests a transaction is paying the gas fee for this transaction to be included in the next block that miners are mining on the network. TopicShare contracts provide their functionality through another service called Oraclize.it. Oraclize uses transactions to deliver "outer-world" information to our contract on Ethereum blockchain, where it's being stored. TopicShare contracts need Ether provided by users to continue running.
Here is the list of transactions that provide functionality and require gas:
- Submit a tweet to be checked - invokes gas + Oraclize fee, e.g. ~ $0.03
- Check followers - invokes gas + Oraclize fee, e.g. ~ $0.03
- Claim a reward - invokes gas,e.g. ~ $0.02
- Initialize a campaign - invokes gas + user fee for campaign creation feature, e.g. ~ $0.02
- Create a campaign - invokes gas + user defined campaign budget, e.g. ~ $0.03
- Edit reward amount on a campaign - invokes gas, e.g. ~ $0.01
- Contribute to a campaign - invokes gas + contribution amount to be transfered, e.g. ~ $0.01
- Close a campaign - invokes gas, e.g. ~ $0.01
Oraclize pricing table
Last modified, 02/27/2019
How it works?
The TopicShare's Oracle smart contract uses oraclize.it's `oraclize-api` library to retrieve the message text of posts on Twitter via URL. These messages are stored on the Ethereum blockchain within this smart contract and is publicly accessible by any other smart contract.
Any user can call this contract to store a new Twitter message. Storing the data from Oraclize callback requires that this contract also has balance of Ether to function, and anyone can contribute Ether to keep the oracle running.
The main TopicShare smart contract is similar to Bounties Network's StandardBounties.sol. Using the data on the TopicShare Oracle smart contract, users are able to open new campaign or claim fulfillment rewards on existing ones.
Completing a campaign requires that user proves that new tweet has not been used in the past and that it contains the same text as the original Twitter post for the campaign. Because this proof can be done programmatically, campaign verification and reward resolution can happen all at once, and without the need of the campaign creator to verify or accept fulfillments.
Campaign creators have control over their campaigns and can edit the fulfillment rewards or close already opened campaigns.. Anyone can contribute to existing campaign to continue funding them and encourage others to keep fulfilling the campaign.
# How is this useful?
Topicshare.io enables a decentralized and simple way for people to advertise or spread messages in an organic way. Imagine that you just released a new product and you want others to spread word about your product. Rather than paying for an ad, you can harness the power of social media community to share your product via their networks. For their efforts, you can reward them automatically, using this campaign system.
Event and updates log
Added, 02/27/2019: Topicshare.io is live on Rinkeby.
Experiencing issues? Have suggestions? Want more topics? Send your feedback this way.