How fuellabs/fuels-ts works
fuels-ts is a TypeScript SDK and developer toolkit for building Fuel applications. A typical dApp connects through a Provider, manages a wallet, prepares and submits transactions, and uses generated program bindings to call contracts or work with predicates and scripts. The repository also provides ABI encoding and type generation, plus CLI workflows for project setup, building, deployment, and local-node development. The README documents those workflows; sampled source confirms selected wallet-manager and ABI-coder internals, while most runtime modules were not sampled.
Main entry points: cli.ts fuels CLI · wallet-manager.ts Wallet manager · provider.ts Provider · contract-factory.ts Contract interface
Components 20
Network SDK
- Provider
packages/account/src/providers/provider.ts - Transaction requests
packages/account/src/providers/transaction-request/transaction-request.ts - Transaction responses
packages/account/src/providers/transaction-response/transaction-response.ts
Programs And ABI
- Contract interface
packages/contract/src/contract-factory.ts - Program invocation
packages/program/src/functions/invocation-scope.ts - Script invocation
packages/script/src/script-invocation-scope.ts - ABI encoding
packages/abi-coder/src/FunctionFragment.ts - ABI type generation
packages/abi-typegen/src/abi/Abi.ts
Developer Tooling
- fuels CLI
packages/fuels/src/cli.ts - Build and typegen
packages/fuels/src/cli/commands - Deployment commands
packages/fuels/src/cli/commands/deploy - Local node commands
packages/fuels/src/cli/commands/node/index.ts - dApp scaffolding
packages/create-fuels/src/cli.ts
Wallet Security
- Wallets
packages/account/src/wallet/wallet.ts - Wallet manager
packages/account/src/wallet-manager/wallet-manager.ts - Mnemonic and key vaults
packages/account/src/wallet-manager/vaults - Encrypted state storage
packages/account/src/wallet-manager/storages/memory-storage.ts - Crypto primitives
packages/crypto/src
Other components
- dApp developer
- Fuel network
Connections 21
- dApp developer → Provider: connects through
README.md - Provider → Fuel network: queries GraphQL
README.md - dApp developer → Wallet manager: manages accounts
- Wallet manager → Mnemonic and key vaults: creates vaults
packages/account/src/wallet-manager/wallet-manager.ts - Wallet manager → Encrypted state storage: persists state
packages/account/src/wallet-manager/wallet-manager.ts - Wallet manager → Crypto primitives: encrypts state
packages/account/src/wallet-manager/wallet-manager.ts - Wallet manager → Wallets: returns wallet
packages/account/src/wallet-manager/wallet-manager.ts - dApp developer → Contract interface: uses bindings
- Contract interface → Program invocation: invokes functions
- Program invocation → Transaction requests: prepares transaction
- Transaction requests → Provider: submits transaction
- Provider → Transaction responses: returns result
- Contract interface → ABI encoding: encodes arguments
packages/abi-coder/src/FunctionFragment.ts - dApp developer → Script invocation: runs scripts
- dApp developer → fuels CLI: runs commands
README.md - fuels CLI → Build and typegen: builds programs
README.md - fuels CLI → Deployment commands: deploys programs
README.md - fuels CLI → Local node commands: starts node
README.md - fuels CLI → ABI type generation: generates bindings
README.md - ABI type generation → ABI encoding: emits imports
- dApp developer → dApp scaffolding: creates project
README.md