Skip to content

Commit

Permalink
[revela] update README
Browse files Browse the repository at this point in the history
  • Loading branch information
aquynh committed Mar 2, 2024
1 parent 7467836 commit 0165553
Show file tree
Hide file tree
Showing 3 changed files with 77 additions and 19 deletions.
27 changes: 27 additions & 0 deletions README.aptos
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
<a href="https://aptos.dev">
<img width="100%" src="./.assets/aptos_banner.png" alt="Aptos Banner" />
</a>

---

[![License](https://img.shields.io/badge/license-Apache-green.svg)](LICENSE)
[![Lint+Test](https://github.com/aptos-labs/aptos-core/actions/workflows/lint-test.yaml/badge.svg)](https://github.com/aptos-labs/aptos-core/actions/workflows/lint-test.yaml)
[![codecov](https://codecov.io/gh/aptos-labs/aptos-core/branch/main/graph/badge.svg?token=X01RKXSGDE)](https://codecov.io/gh/aptos-labs/aptos-core)
[![Discord chat](https://img.shields.io/discord/945856774056083548?style=flat-square)](https://discord.gg/aptosnetwork)

Aptos is a layer 1 blockchain bringing a paradigm shift to Web3 through better technology and user experience. Built with Move to create a home for developers building next-gen applications.

## Getting Started

* [Aptos Foundation](https://aptosfoundation.org/)
* [Aptos Developer Network](https://aptos.dev)
* [Guide - Setup Your Environment](https://aptos.dev/category/environment)
* [Tutorials](https://aptos.dev/tutorials)
* Follow us on [Twitter](https://twitter.com/aptos_network).
* Join us on the [Aptos Discord](https://discord.gg/aptosnetwork).

## Contributing

You can learn more about contributing to the Aptos project by reading our [Contribution Guide](https://github.com/aptos-labs/aptos-core/blob/main/CONTRIBUTING.md) and by viewing our [Code of Conduct](https://github.com/aptos-labs/aptos-core/blob/main/CODE_OF_CONDUCT.md).

Aptos Core is licensed under [Apache 2.0](https://github.com/aptos-labs/aptos-core/blob/main/LICENSE).
69 changes: 50 additions & 19 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,27 +1,58 @@
<a href="https://aptos.dev">
<img width="100%" src="./.assets/aptos_banner.png" alt="Aptos Banner" />
</a>
<p align="center">
<img width="360" src="images/revela.png">
</p>

---
Revela Decompiler is a tool to decompile low-level Move bytecode back to high-level Move source code. Developed by [Verichains](https://verichains.io), currently Revela is compatible with [Aptos](https://aptoslabs.com/) blockchain.

[![License](https://img.shields.io/badge/license-Apache-green.svg)](LICENSE)
[![Lint+Test](https://github.com/aptos-labs/aptos-core/actions/workflows/lint-test.yaml/badge.svg)](https://github.com/aptos-labs/aptos-core/actions/workflows/lint-test.yaml)
[![codecov](https://codecov.io/gh/aptos-labs/aptos-core/branch/main/graph/badge.svg?token=X01RKXSGDE)](https://codecov.io/gh/aptos-labs/aptos-core)
[![Discord chat](https://img.shields.io/discord/945856774056083548?style=flat-square)](https://discord.gg/aptosnetwork)
Revela is also available online at [revela.verichains.io](https://revela.verichains.io)

Aptos is a layer 1 blockchain bringing a paradigm shift to Web3 through better technology and user experience. Built with Move to create a home for developers building next-gen applications.
## Background

## Getting Started
The groundbreaking [Move language](https://github.com/move-language/move) for smart contracts is revolutionizing the development of secure and resilient blockchains like Aptos. As contracts become more complex and play a vital role in safeguarding digital assets, it is essential to provide users with the means to verify the safety of the underlying code. Unfortunately, it becomes common to see Move-based protocols deployed solely in low-level bytecode form, without accompanying source code. This practice not only obfuscates the smart contracts’ functionality but also presents a significant barrier to security analysis, given that Move is a relatively new language and lacks tooling to easily analyze Move contracts.

* [Aptos Foundation](https://aptosfoundation.org/)
* [Aptos Developer Network](https://aptos.dev)
* [Guide - Setup Your Environment](https://aptos.dev/category/environment)
* [Tutorials](https://aptos.dev/tutorials)
* Follow us on [Twitter](https://twitter.com/aptos_network).
* Join us on the [Aptos Discord](https://discord.gg/aptosnetwork).
In response to this challenge, Verichains has worked with Aptos Labs to develop Revela, the first-ever open-source tool designed to decompile Move bytecode back to its original source code, which can then be fed into the Move compiler once again. By empowering users to independently verify and analyze contract code, Revela establishes new industry standards for security, openness, and trust in the Aptos ecosystem.

## Contributing
## Build

You can learn more about contributing to the Aptos project by reading our [Contribution Guide](https://github.com/aptos-labs/aptos-core/blob/main/CONTRIBUTING.md) and by viewing our [Code of Conduct](https://github.com/aptos-labs/aptos-core/blob/main/CODE_OF_CONDUCT.md).
Revela requires Rust compiler to build. From the root directory, execute the following command.

Aptos Core is licensed under [Apache 2.0](https://github.com/aptos-labs/aptos-core/blob/main/LICENSE).
```
$ cargo build -p revela
```

The resulted binary `revela` can be found under the directory `target/debug`.

## Install

Run the following command to install Revela.

```
$ cargo install --path third_party/move/tools/revela
```

On MacOS and Linux, Revela is typically installed in directory `~/.cargo/bin`.
Ensure to have this path in your `PATH` environment variable so Revela can be executed from any location.
This step can be done with the below command.

```
$ export PATH=~/.cargo/bin:$PATH
```

## Usage

To decompile a Move bytecode file, pass its file path as a command line
argument using `--bytecode` (or `-b`), as shown below.

```
$ revela --bytecode <file_path>
```

For example:

```
$ revela --bytecode third_party/move/tools/revela/tests/bytecode/BasicCoin.mv
```

## License

Revela is released under the open source [Apache License](LICENSE)
Binary file added images/revela.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 0165553

Please sign in to comment.