Inspiration
Chainlink MultiChain BOT
Use Cases
UC1
As a user I want to use Discord so that I can see my LINK balance on MultiChains.
Note: for this hack we use classical ETH tesnets (Kovan,Rinkeby,Goerli,Mainnet) and sponsor Avalanche and Binance testnets. We use web3storage for storing images IPFS
Inspiration
Currently there is no wallet that allows obtaining the total LINK available in the different blockchains.
What it does
This bot allows you to integrate the different LINK balances of the same address and view the total of the same address
How we built it
We integrate web3, with typescript accessing the addresses of the Chainlink contracts in the different blockchains
Challenges we ran into
The main challenge was to integrate different RPC connections.
Accomplishments that we're proud of
Use Discord.js as a communication interfase for the crypto ecosystem with a global chainlink balance concept.
What we learned
Onchain and offchain accesses must be integrated with simple means of communication to the users. Interoperability is a pending issue on multichain context.
What's next for Chainlink AI Discord Bot
Learn and share & extend the bot.
Video
SnapShots
| Command | Bot Response |
|---|---|
| !chainlink | ![]() |
| !about | ![]() |
Build & Run
npm install
npm run compile
npm run start
Dependencies
"discord.js": "^12.5.1",
"dotenv": "^8.2.0",
"ethers": "^5.4.2",
"http": "0.0.1-security",
"https": "^1.0.0",
"typescript": "^4.1.3",
"web3": "^1.3.0",
"web3.storage": "^3.3.4"
Repo
https://github.com/aadorian/ChainlinkMultiChainBOT.git
require("dotenv").config();
import { Client, MessageEmbed} from "discord.js";
import { ethers, providers } from "ethers";
import { Web3Storage, getFilesFromPath, File } from "web3.storage";
...
const linkAbi = [
"function name() view returns (string)",
"function symbol() view returns (string)",
"function balanceOf(address) view returns (uint)",
"function transfer(address to, uint amount)",
"event Transfer(address indexed from, address indexed to, uint amount)"
];
...
let provider_MAINNET = new ethers.providers.JsonRpcProvider(RPC_URL_MAINNET);
const linkAddress_MAINNET = "0x514910771af9ca656af840dff83e8264ecf986ca";
const linkContract_MAINNET = new ethers.Contract(linkAddress_MAINNET, linkAbi,provider_MAINNET);
References
https://docs.chain.link/docs/link-token-contracts/ https://chainlink-fall-hackathon-2021.devpost.com/?ref_feature=challenge&ref_medium=your-open-hackathons&ref_content=Submissions+open
Built With
- discord.js
- typescript
- web3
- web3.storage


Log in or sign up for Devpost to join the conversation.