diff --git a/examples/getting-started/.env.example b/examples/getting-started/.env.example new file mode 100644 index 0000000000..cf2c776ef5 --- /dev/null +++ b/examples/getting-started/.env.example @@ -0,0 +1,3 @@ +ALCHEMY_RPC_URL= # e.g. https://eth-sepolia.g.alchemy.com/v2/XXXXX +BUNDLER_RPC_URL= # optional if repo provides a bundler URL +PRIVATE_KEY= # ONLY for local testing (use a throwaway key) diff --git a/examples/getting-started/package.json b/examples/getting-started/package.json new file mode 100644 index 0000000000..e3ec7b7038 --- /dev/null +++ b/examples/getting-started/package.json @@ -0,0 +1,20 @@ +{ + "name": "aa-sdk-getting-started", + "private": true, + "type": "module", + "scripts": { + "build": "tsc -p tsconfig.json", + "start": "node dist/index.js", + "dev": "ts-node src/index.ts" + }, + "dependencies": { + "@alchemy/aa-core": "workspace:*", + "@alchemy/aa-ethers": "workspace:*", + "ethers": "^6.10.0", + "dotenv": "^16.4.0" + }, + "devDependencies": { + "ts-node": "^10.9.2", + "typescript": "^5.4.0" + } +} diff --git a/examples/getting-started/src/index.ts b/examples/getting-started/src/index.ts new file mode 100644 index 0000000000..ad12876343 --- /dev/null +++ b/examples/getting-started/src/index.ts @@ -0,0 +1,11 @@ +import 'dotenv/config'; +import { version as ethersVersion } from 'ethers'; +import pkgCore from '@alchemy/aa-core/package.json' assert { type: 'json' }; + +console.log('Ethers version:', ethersVersion); +console.log('@alchemy/aa-core version:', pkgCore.version); + +// TODO: Expand this example in a follow-up PR to show a minimal userOp: +// 1) Create client +// 2) Fund / sponsor gas (if required) +// 3) Send a user operation and log hash diff --git a/examples/getting-started/tsconfig.json b/examples/getting-started/tsconfig.json new file mode 100644 index 0000000000..38631d8725 --- /dev/null +++ b/examples/getting-started/tsconfig.json @@ -0,0 +1,12 @@ +{ + "compilerOptions": { + "target": "ES2022", + "module": "ES2022", + "moduleResolution": "Bundler", + "esModuleInterop": true, + "strict": true, + "outDir": "dist", + "skipLibCheck": true + }, + "include": ["src"] +}