>

>

2. Building the EntryPoint and Factory

Deploying the Smart Infrastructure

Time to build the foundation! We need to deploy three key contracts. 🏗️

  1. EntryPoint: The central hub that executes operations. Think of it as the air traffic controller for your smart wallets.

  2. SimpleAccount: This is the template for the user's smart wallet. It can execute transactions authorized by the owner's signature.

  3. SimpleAccountFactory: This contract 'stamps' out new SimpleAccounts for your users as they join.

The smart contracts deployed on VeChain are available on this public repo: https://github.com/vechain/smart-accounts

Using Hardhat, we can deploy these to the VeChain Testnet.

npx hardhat deploy --network
npx hardhat deploy --network
npx hardhat deploy --network

Nice! You’ll get a contract address for the Factory. Save it! You'll need it for your app's environment variables.

To make Privy work with VeChain, we even add a special function called executeWithAuthorization to our SimpleAccount so it can verify social signatures.

Technical note: if you don't plan to deploy a whole new set of contracts, you can use the official set and thus avoid creating a new silo.