https://github.com/aergoio/athena-ide-atom
A atom package for writing lua smart contract in aergo
https://github.com/aergoio/athena-ide-atom
aergo atom lua smart-contract
Last synced: about 1 year ago
JSON representation
A atom package for writing lua smart contract in aergo
- Host: GitHub
- URL: https://github.com/aergoio/athena-ide-atom
- Owner: aergoio
- License: mit
- Created: 2019-01-16T12:21:40.000Z (over 7 years ago)
- Default Branch: develop
- Last Pushed: 2020-05-14T07:02:45.000Z (about 6 years ago)
- Last Synced: 2025-03-29T08:32:54.486Z (about 1 year ago)
- Topics: aergo, atom, lua, smart-contract
- Language: JavaScript
- Homepage: https://athena-docs.aergo.io
- Size: 56.7 MB
- Stars: 11
- Watchers: 4
- Forks: 4
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE.md
Awesome Lists containing this project
README
# Athena-ide package
[](https://opensource.org/licenses/MIT)
[](https://travis-ci.org/aergoio/athena-ide-atom/)
[](https://atom.io/packages/athena-ide-atom)
[](https://atom.io/packages/athena-ide-atom)
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](https://github.com/atom/atom/releases)
## Features
- [X] Syntax highlighting
- [X] Basic autocomplete
- [X] Basic linter
- [X] Compile
- [X] Deploy smart contract
- [X] Execute smart contract
- [X] Query smart contract result
- [X] Fee delegation
- [X] Re-deploy smart contract (private mode only)
- [X] 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
```json
"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](https://www.npmjs.com/package/grpc#about-electron).
3. Adding new features should add it to `CHANGELOG.md`.
Following these rules, feel free to make any pull requests