Abstract
Eth Sdk is an open-source Blockchain & Cloud Computing project. Type-safe, lightweight SDKs for Ethereum smart contracts. eth-sdk Generate type-safe, lightweight SDK for your Ethereum smart contracts. It is built using JavaScript, Ethereum, TypeScript, Solidity, Web3. The complete source code is publicly available on GitHub under the MIT License, making it a useful reference for students building a Blockchain & Cloud Computing mini project or final-year project.
1. Introduction
eth-sdk Generate type-safe, lightweight SDK for your Ethereum smart contracts
eth-sdk looks for the config file in this directory, and saves downloaded ABIs there.
The primary motivation for the project is reducing the ceremony needed to interact with smart contracts on Ethereum while using JavaScript or TypeScript. It takes care of boring parts like ABI management and auto-generates all the boilerplate required to set up ethers.js contract instances. Finally, it makes DX great by ensuring that all contracts have type information so your IDE can assist you.
2. Objective
Type-safe, lightweight SDKs for Ethereum smart contracts
This project demonstrates how JavaScript, Ethereum, TypeScript can be applied to a real-world Blockchain & Cloud Computing problem.
4. Technology Stack
5. System Requirements
General requirements for this technology stack — check the README for exact versions.
- Node.js (LTS) and npm
- A modern web browser
- VS Code or any code editor
- Node.js (LTS) and npm / yarn / pnpm
- Node.js and npm
- Hardhat / Truffle / Remix IDE
- Git (to clone the repository)
6. Installation & Setup
git clone https://github.com/dethcrypto/eth-sdk.git
cd eth-sdk- Etherscan API will be queried in search of ABIs corresponding to the addresses. ABIs will be downloaded into
- Minimal SDK will be generated with functions like getMainnetSdk exposed. These functions wire addresses with ABIs
- TypeScript types will be generated for SDK using TypeChain.
- SDK is generated directly into node_modules, access it as @dethcrypto/eth-sdk-client.
yarn add --dev @dethcrypto/eth-sdk @dethcrypto/eth-sdk-clienteth-sdk [options]import { defineConfig } from '@dethcrypto/eth-sdk'
export default defineConfig({
contracts: {
mainnet: {
dai: '0x6b175474e89094c44da98b954eedeac495271d0f',
},
},
})import { getMainnetSdk } from '@dethcrypto/eth-sdk-client' // yay, our SDK! It's tailored especially for our needs
import { ethers } from 'ethers'
async function main() {
const mainnetProvider = ethers.getDefaultProvider('mainnet')
const defaultSigner = ethers.Wallet.createRandom().connect(mainnetProvider)
const sdk = getMainnetSdk(defaultSigner) // default signer will be wired with all contract instances
// sdk is an object like { dai: DaiContract }
const balance = sdk.dai.balanceOf(defaultSigner.address)
}
main()
.then(() => console.log('DONE'))
.catch((error) => {
console.error(error)
process.exit(1)
})Full setup instructions are in the project README.
7. Future Enhancements
Suggested extensions you can add to make this your own project.
- Add a CI/CD pipeline with GitHub Actions
- Deploy to a public test network or cloud free tier
- Add monitoring and cost alerts
8. Viva / Review Questions
Common questions examiners ask for projects in this domain.
- Why does this problem need a blockchain or cloud-native design?
- Explain the smart contract / infrastructure components and how they interact.
- How are gas costs or cloud costs kept under control?
- How is the system secured (keys, IAM, access control)?
- How would the solution scale to many more users?
9. Source Code & License
This project is developed by dethcrypto and published on GitHub under the MIT License. Please follow the license terms and credit the original author when you use or modify this code.
Want to build this as your internship project?
Work on a Blockchain & Cloud Computing project like this with mentor guidance, weekly reviews and an internship certificate from Training Trains, Erode — online or offline.
Apply for Blockchain & Cloud Computing Internship