Giter VIP home page Giter VIP logo

ethereum-nft-sales-bot's Introduction

GitHub contributors GitHub Workflow Status GitHub issues GitHub pull requests GitHub license Commitizen friendly


Logo

Ethereum-NFT-Sales-Bot

NFT sales monitoring bot for the Ethereum blockchain. (erc721, erc1155)



Table of Contents

Click to expand
  1. Market Coverage
  2. GIF Generator
  3. Live Demo
  4. Getting Started
  5. Configuration
  6. Update
  7. Usage
  8. Run Test
  9. Lint Check
  10. Notify Method
  11. Mindmap
  12. Contributing
  13. Contact
  14. Acknowledgments
  15. Collections
  16. License

Market Coverage

(back to top)

GIF Generator

gif_1 gif_2


(back to top)

Live Demo

Twitter

Discord

(back to top)

Getting Started

Prerequisites

  • Install Node.js version 16.16.0 LTS
    • If you are using nvm (recommended) running nvm use will automatically choose the right node version for you.
  • Alchemy API Key - apply here
  • Etherscan API Key - apply here

Opensea API Key Is Now Optional

  • The bot now use Alchemy as the default NFT API. ๐Ÿ”— Learn more

  • If you set OPENSEA_API_KEY in the .env file, it will take priority over the Alchemy for NFT API.

Installation

npm install

(back to top)

Configuration

Create an .env file in the root directory of the project with the following contents:

Mandatory

CONTRACT_ADDRESS=
ALCHEMY_API_KEY=
ETHERSCAN_API_KEY=

Optional

OPENSEA_API_KEY=
TWITTER_ENABLED=
TWITTER_API_KEY=
TWITTER_API_SECRET=
TWITTER_ACCESS_TOKEN=
TWITTER_ACCESS_SECRET=
DISCORD_ENABLED=
WEBHOOK_URL=

Multi Monitoring

For monitoring multiple NFTs at the same time, use CONTRACT_ADDRESSES in the .env file.

Example:

CONTRACT_ADDRESSES=["0xBC4CA0EdA7647A8aB7C2061c2E118A18a936f13D","0x60E4d786628Fea6478F785A6d7e704777c86a7c6"]

If CONTRACT_ADDRESS and CONTRACT_ADDRESSES are both set, CONTRACT_ADDRESSES will take the priority.


๐Ÿšจ๐Ÿšจ๐Ÿšจ๐Ÿšจ๐Ÿšจ๐Ÿšจ๐Ÿšจ๐Ÿšจ๐Ÿšจ๐Ÿšจ๐Ÿšจ๐Ÿšจ๐Ÿšจ๐Ÿšจ๐Ÿšจ๐Ÿšจ๐Ÿšจ๐Ÿšจ๐Ÿšจ๐Ÿšจ๐Ÿšจ

Do not commit/include your .env file in your repository.

๐Ÿšจ๐Ÿšจ๐Ÿšจ๐Ÿšจ๐Ÿšจ๐Ÿšจ๐Ÿšจ๐Ÿšจ๐Ÿšจ๐Ÿšจ๐Ÿšจ๐Ÿšจ๐Ÿšจ๐Ÿšจ๐Ÿšจ๐Ÿšจ๐Ÿšจ๐Ÿšจ๐Ÿšจ๐Ÿšจ๐Ÿšจ

(back to top)

Update

Run the following command to update the source code:

npm run update

Usage

Run the following command to start the bot:

npm start

To test a certain transaction for debugging purposes, run the following command:

npm run debug -- <transaction-hash>

(back to top)

Run Test

To ensure your configuration(.env) is correct, run the following command:

npm test

The test should take less than 3 minutes to run. If it fails, either APIs are down or your configuration is incorrect.

(back to top)

Lint Check

To format code and fix linting errors, run the following command:

npm run fix

(back to top)

Notify Method

Notification is optional. You can turn it on in the ./.env file by setting the TWITTER_ENABLED or DISCORD_ENABLED value to 1.

For example:

TWITTER_ENABLED=1
DISCORD_ENABLED=1

(back to top)

Twitter

  1. Register Twitter developer account with Elevated access. ๐Ÿ”— Link

  2. Create a development app with OAuth 1.0a read-write permissions. ๐Ÿ”— Link

  3. Install Twurl and run following command:

    twurl authorize --consumer-key <your-app-key> --consumer-secret <your-app-secret>
    

    This will return an URL that you should open up in your browser. Authenticate to Twitter, and then enter the returned PIN back into the terminal.

    This should create a file called .twurlrc in your home directory with all the necessary information.

(back to top)

Discord

  1. Open the Discord channel you want to receive sales event notifications.
  2. From the channel menu, select Edit channel.
  3. Select Integrations.
  4. Select Create Webhook.
  5. Enter the name of the bot that will post the message.
  6. Copy the URL from the WEBHOOK URL field.
  7. Click Save.

(back to top)

Mindmap

  • Add NFT Trader
  • Add Sudo Swap
  • Add Sudo Swap OTC

(back to top)

Contributing

Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

For more information on how to contribute, check out the contributing guide.

(back to top)

Contact

kenryu.eth - @kenryu42 - [email protected]

(back to top)

Acknowledgments

(back to top)

Collections

Collections that using this bot.

Open a Pull Request to add your collection below!

Collection Twitter Discord
Murakami.Flowers @MFTMKKUS Murakami.Flowers

(back to top)

LICENSE

This project is MIT licensed.

(back to top)

ethereum-nft-sales-bot's People

Contributors

kenryu42 avatar sterlingcrispin avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.