Skip to content

A tool that automatically pulls on-chain transaction data given an address input across Ethereum mainnet and Base, and subsequently saving the data to ComposeDB for easy querying and filtering. Also uses Passport to obtain humanity score.

License

Unknown, MIT licenses found

Licenses found

Unknown
LICENSE-APACHE
MIT
LICENSE-MIT
Notifications You must be signed in to change notification settings

ceramicstudio/aiwa-ts

Repository files navigation

Address Interacted With Address (AIWA) on Ceramic

An adaptation of the AIWA tool in TypeScript with storage on Ceramic (using ComposeDB).

A tool that automatically pulls on-chain transaction data given an address input across Ethereum mainnet and Base, and subsequently saving the data to ComposeDB for easy querying and filtering. Also uses Passport to obtain humanity score.

Dependencies

In order to run this example locally, you will need to create a copy of the .env.example file in the root of this directory, rename it to .env, and begin loading the file with active corresponding values. These include the following:

ETHERSCAN_API_KEY

We will be using the Etherscan API to pull transaction data from Eth mainnet. Sign up for the free tier and obtain a key if you do not already have one.

BASE_API_KEY

We will be using the Base Explorer API to pull transaction data from Base. Sign up for the free tier and obtain a key if you do not already have one.

CERAMIC_PRIVATE_KEY

This is the private key your application will use to instantiate a static key:did in order to write transactions to Ceramic. This DID will act as the identifier for the issuer of points for your application (you).

If you have the ComposeDB CLI installed globally, you can run the following command in your terminal to create one:

composedb did:generate-private-key

PROJECT_ID

We will be using WalletConnect's Web3Modal for Web3 authentication.

You can set up a developer account for free by visiting cloud.walletconnect.com. Once authenticated, create a new app and copy over the "Project ID" value (found in the dashboard view for that corresponding app).

GITCOIN_API_KEY and SCORER_ID

We will be using Passport Scorer to determine our input address's humanity score. Set up an API key and a scorer ID in order to use this feature (free tier is available).

Getting Started

Once you've completed the steps above, you're ready to get started experimenting with the application in developer mode.

First, install your dependencies:

npm install

Once installed, run the application in developer mode:

npm run dev

This action will run the start script which:

  1. Automatically generates Ceramic credentials and a ComposeDB configuration
  2. Uses our schema definition to compile and deploy our composite onto our local node (running on local port 7007)
  3. Starts up a GraphiQL instance on local port 5002
  4. Runs our UI on port 3000

Navigate to http://localhost:3000 in your browser. You'll be able to create an index and query your index on the /reads page based on either the default address, or your address if you wish to connect your wallet.

Learn More

To learn more about Ceramic please visit the following links

About

A tool that automatically pulls on-chain transaction data given an address input across Ethereum mainnet and Base, and subsequently saving the data to ComposeDB for easy querying and filtering. Also uses Passport to obtain humanity score.

Resources

License

Unknown, MIT licenses found

Licenses found

Unknown
LICENSE-APACHE
MIT
LICENSE-MIT

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published