Intro
Foster is a lightweight CLI wallet and governance dashboard designed for the Tezos Honolulu protocol upgrade. This guide explains how to install, configure, and leverage Foster to send transactions and participate in on‑chain voting on the Honolulu network.
Key Takeaways
- Foster supports all core Tezos operations without requiring a full node.
- Honolulu introduces stricter gas accounting and new voting primitives that Foster respects.
- Users can manage multiple accounts and delegate voting rights from a single interface.
- Security best practices are built‑in, but risks such as key exposure remain.
- Comparing Foster with other wallets shows trade‑offs in speed, UI, and feature set.
What is Foster
Foster is an open‑source command‑line tool that combines a minimal Tezos wallet with a governance module. It communicates with public Tezos RPC endpoints, signs transactions locally, and submits ballots for protocol upgrade proposals. The project targets developers and power users who prefer scriptable workflows over GUI wallets.
Why Foster Matters for Tezos Honolulu
Honolulu activates several technical changes: improved smart contract gas models, a new voting mechanism called “adaptive quorum,” and stricter endorsement quotas. Foster implements these specifics directly, ensuring that transaction fees are calculated correctly and that ballots follow the updated quorum rules. By using Foster, you stay aligned with the latest network expectations without relying on third‑party updates.
How Foster Works
Foster’s architecture follows three layers:
- Key Management – Generates Ed25519 or Secp256k1 key pairs, stores them in an encrypted JSON file, and never transmits private keys over the network.
- RPC Interaction – Queries the Tezos node for current head, validates the Honolulu branch, and retrieves the active voting period.
- Transaction & Ballot Signing – Constructs the operation bytes, appends the correct gas limit for Honolulu contracts, signs with the local key, and injects the signed operation via
POST /Injection/Operation.
The core signing formula is:
SignedOp = Sign(Blake2B(OperationBytes), PrivateKey)
This ensures each operation is uniquely bound to the current Honolulu block hash, preventing replay attacks across forks.
Used in Practice
Installation
Run curl -fsSL https://github.com/foster‑tezos/foster/releases/latest/download/foster-linux-amd64 | sudo install -m 0755 - /usr/local/bin/foster. Verify with foster --version.
Wallet Setup
Execute foster account import --mnemonic "your 15‑word seed". Foster prompts for a password that encrypts the keystore file at ~/.config/foster/wallet.enc.
Sending a Transaction
Use foster transfer 100 XTZ --to tz1abc... --fee 0.0005. Foster automatically selects the appropriate gas limit for Honolulu contracts and displays the estimated fee.
Participating in Governance
Run foster governance propose "https://example.com/proposal.json" to submit a new amendment. To vote, execute foster governance vote yes or no for the active period. Foster verifies the quorum using Honolulu’s adaptive formula.
Delegating Voting Rights
Enter foster delegate vote --to tz1def.... The delegate’s key will cast ballots on behalf of your account, while you retain control of the funds.
Risks / Limitations
Foster relies on external RPC providers; if the provider is compromised, operation metadata could be altered. Private keys remain on the user’s machine, but malware can target the encrypted wallet file. The tool does not support hardware wallet integration, so high‑security users may prefer cold storage solutions. Additionally, the CLI interface assumes familiarity with command‑line environments, which may limit adoption among non‑technical stakeholders.
Foster vs. Other Tezos Tools
Foster vs. Galleon: Galleon offers a GUI and multi‑account management, while Foster is script‑driven and lighter on resources. Galleon includes a built‑in ledger plugin, whereas Foster focuses on pure RPC interaction.
Foster vs. Tezbox: Tezbox is a browser‑based wallet supporting web‑based voting dashboards. Foster runs locally, reducing exposure to browser‑based attacks, but it lacks the visual analytics that Tezbox provides.
Foster vs. tezos-client (CLI): The official tezos-client covers all protocol features but requires manual configuration of environment variables. Foster abstracts common tasks into single commands, improving usability for routine operations.
What to Watch
Monitor the Tezos governance calendar for the next protocol amendment after Honolulu. Foster’s repository will issue pull‑requests that adapt to any new voting mechanics. Also watch for potential hardware‑wallet plugins in future releases, which could expand security options without compromising the lightweight design.
FAQ
Do I need a full node to run Foster?
No. Foster communicates with public RPC endpoints, so a full node is optional. However, for higher reliability, you can point Foster to your own node using the --node flag.
Can Foster handle TZDOMAIN domain names?
Yes. Foster resolves TZDOMAIN entries through the Tezos DNS resolver before constructing the transaction, aligning with Honolulu’s domain‑resolution updates.
How does Foster calculate fees for Honolulu smart contracts?
Foster queries the current block’s gas limit and multiplies it by the network‑defined fee per gas unit. The formula is Fee = GasLimit × FeePerGas, ensuring compliance with the new gas accounting rules.
Is Foster compatible with testnets?
Absolutely. Add the --network mainnet or --network testnet flag to switch between networks. The tool will use the corresponding RPC endpoints.
What happens if I lose my wallet password?
The wallet file is encrypted with AES‑256. Without the password, the private keys cannot be decrypted. There is no recovery mechanism; always keep a secure backup of your mnemonic phrase.
Can I use Foster to vote on protocol upgrades multiple times?
Each account can cast one ballot per voting period. Foster enforces this by checking the on‑chain ballot counter before submission.
Does Foster support multi‑signature operations?
Current release (v1.2) does not include native multisig creation, but you can import a multisig contract address and use Foster to sign individual operations that the multisig contract will later aggregate.
Where can I find the latest Foster updates?
Visit the official repository at https://github.com/foster-tezos/foster for release notes and bug fixes.