Skip to content

Repository files navigation

Fe

Fe is a Rust-like, statically typed language for the Ethereum Virtual Machine (EVM), with explicit effects, message-passing contracts, and an integrated toolchain.

Status: Fe 26.x is not production-ready. See the Fe 26 release announcement for context.

Install

Use feup:

curl -fsSL https://raw.githubusercontent.com/argotorg/fe/master/feup/feup.sh | bash

See https://fe-lang.org for language documentation, examples, and other installation options.

CLI

The compiler is exposed through the fe binary. See CLI.md for the command reference.

Repository Layout

  • crates/ - compiler crates, CLI, language server, and supporting tools
  • ingots/core/ - core ingot, built into every compilation
  • ingots/std/ - Fe standard library
  • feup/ - the feup installer script
  • newsfragments/ - release note fragments consumed by towncrier

Development

Run the workspace tests:

cargo test --workspace

Snapshot tests use insta:

cargo insta review
cargo insta accept --workspace

Contributing

Non-trivial language or architecture changes should start as a discussion on GitHub or Zulip. For bug fixes and small improvements, a PR against master is fine.

License

Licensed under the Apache License, Version 2.0.

About

Emerging smart contract language for the Ethereum blockchain.

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages