Inspiration

With the recent hype of NFT all over Twitter, its very first own tweet by Jack Dorsey was just sold as an NFT. With the increasing amount of attention given to NFT over social media, why not help every new NFT artist publicly marketize NFT arts to increase the public engagement over blockchain and provide a gateway to decentralized space.

What it does

Triquetra, at its core, is a multi-purpose Twitter bot that tends to constantly push forward the buyer engagement of the NFT marketplace by developing a decentralized ecosystem in a form of a virtual art gallery.

Imagine, you are at a break/or on a weekend spending your leisure time on social media, especially Twitter, after spending days on making your first NFT art and looking for some trends and good times, and suddenly you recall, you don't have a fan following to look upon and sell your NFTs at great prices! well, Triquetra to the rescue. All you have to do is mention the bot and ask for the shoutout, it will grab the tweet spontaneously and will fetch the request alongside info of that NFT from Rarible and OpenSea to make a new tweet and publish it on the NFT Twitter account of Triquetra, which will serve as a virtual art gallery. What if you want to throw a giveaway or send out an airDrop on Twitter, but don't want to rely on other sources to handle it? Triquetra is here to automate tasks for you, the really cool thing about this giveaway is that it actually picks "RANDOM" users. How? Well using the ChainLink's VRF API, to sustain the oracle problem, this bot, after getting through some dramatic algorithm shifts, which is solely based on randomness provided by the API, get you your giveaway winners, and at the same time, will send out DMs to each one, for the process of how to avail them! Cool isn't it? To put the verifiable randomness of blockchain to use. Apart from these features, currently, I am building a front-end website that will hold as a place to not only do the tweet marketing but also developing an NFT marketplace to deploy your own NFT. Not only, will it help user to deploy on their favorite marketplaces but also will serve as a relayer for new NFT artists who want to amaze the world with their NFTs.

How we built it

  • Starting off with making a boilerplate to send and receive a simple mentioned tweet
  • Tweaking with EthBrownie Chainlink scripts to inject and receive a random number
  • Developing algorithms and functions to process out randomness from VRF random numbers to sprinkle out random user_id by adjoining them with a number.
  • Developing GET request python scripts for Rarible and OpenSea
  • Segregating and handling tweet to detect deployed NFT marketplace, token_ids, and asset_contracts to parse them to GET request scripts to fetch details on respective NFT
  • Developing front end project to serve automation from deploying an NFT to marketing it.

Challenges we ran into

  1. It is actually an addition to my previous attempt to create a bot service, so the very first challenge I faced this time was to understand and get some hands-on experiences on how to divert the project into fetching and interacting LIVE requests from NFT marketplaces like Rarible and OpenSea.
  2. Next Challenge was to integrate the ChainLink APIs which still was comparatively an easier portion to get through but this time I wanted to automate the deployment of smart contracts to interact with ChainLink oracle via python scripts and it took much time to understand how to add sub-level processes in python to do the task.
  3. One of the finest challenges I am yet to tackle is to connect my python scripts with an HTML/CSS/JS front end to automate the entire workflow right from deploying or taking info of NFT to the deployment of tweets.
  • Not a bug, but yes the authorization loophole, I tried to tackle was to make sure that only the owner of the bot can access the build of this bot i.e. other users including the bot should not be able to use the functions stated by the owner and no one else leading to using this bot for a very specific private organization.

  • Apart from that, this time I had come across a new anomaly where I had to handle multiple requests of GET methods from different NFT marketplaces hence, it was a bit tedious to detect which exact marketplaces has user deployed his/her NFT to in order to fetch that API requests to parse the NFT information to the respective tweet.

  • I would like to mention another bug that I came across which prompted me to understand why sending giveaway needs a follow-up, which while testing I came across when my friends who followed my bot back, had received the DMs, and the ones didn't receive.

Accomplishments that we're proud of

  • Adding a VRF backed Giveaway to parse an algorithm to process out up to 12 different names for a giveaway.
  • Adding Rarible and OpenSea support for GET request to fetch NFT information to serve the respective tweet
  • Adding and interacting with Chainlink oracles and API calls to automate eth-brownie python scripts

What we learned

  • Automating python scripts
  • Adding sub-level processes to be executed
  • Automating Smart Contract deployment with python scripts
  • Creating a python bot with tweepy framework
  • Adding GET Request to interact with Rarible and OpenSea APIs

What's next for Triquetra

Adding a decentralized database to provide a user a personal space to interact with his/her own NFTs in a form of a website having a user-level database to handle an equivalent load of NFTs associated with that specific user address.

Built With

Share this project:

Updates

Submission history