Skip to content

A atom package for writing lua smart contract in aergo

License

Notifications You must be signed in to change notification settings

aergoio/athena-ide-atom

Repository files navigation

Athena-ide package

MIT License Travis_ci apm version apm downloads

A package for writing smart contract in aergo using atom

Compatibility

  • Atom: v1.28 or higher
  • Aergo: v2.2.x or higher

Need to rebuild for atom compatible electron version for grpc native modules in a herajs

  • atom 1.28.0: electron 2.0.0
  • atom 1.39.0: electron 3.1.1
  • atom 1.41.0: electron 4.2.0

And for all platform (win32, linux, darwin) for packaging

Check release notes of atom

Features

  • Syntax highlighting
  • Basic autocomplete
  • Basic linter
  • Compile
  • Deploy smart contract
  • Execute smart contract
  • Query smart contract result
  • Fee delegation
  • Re-deploy smart contract (private mode only)
  • Advanced autocomplete (lua specific, nested table)

Build from source

  • Install dependency: npm install
  • Lint: npm run lint
  • Run test (including lint): npm run test
  • Link and run as dev mode (real time ui changes)
    • Atom package link: apm link
    • Run dev mode: npm run dev
  • Build dist: npm run build
  • Make installer: npm run archive

Contribution

  1. Do not write custom scripts as external file like

    "scripts": {
      "some-script": "scripts/some-script.sh",
    },

    It would break windows build in cmd.exe. Which causes package install failure in windows.

  2. Since atom is electron-based, make sure external library is build on electron target.
    Do not use electron-rebuild because of grpc see also.

  3. Adding new features should add it to CHANGELOG.md.

Following these rules, feel free to make any pull requests