Skip to content

argotorg/fe

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

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors