amethysta
Version:
Smart Contract Validator
105 lines (76 loc) • 2.33 kB
Markdown
<center>
<img src="./asset/img/amethysta.png" />
</center>
## Introduction
Library for validating smart contracts made on the Etherium Network. In order to facilitate the development of SmartContracts validation platforms, Amethysta is a great tool for Creating Explorers and Token Validators.
## Install
To install this library in your project, use NPM to download.
```bash
npm install amethysta
```
Then import this library in the root of your project
```js
/**
* If you download through git,
* import this library through the index.js route
*/
import Amethysta from "amethysta";
```
## Constructor
After the import, build the ``sapphire`` Request Object so that the class functions are presented.
```js
/**
* If you want, you can configure
* some settings inside the builder,
* such as api version, schedule and protocol
*/
var sapphire = new Amethysta();
```
## Functions
Now it is possible to use the functions within the project in a simple way.
### GetSmartContract
Method that obtains the contents of a .sol smart contract to be validated. It will be parsed so that it can be read and interpreted by the validation algorithm.
```js
var smart = await safir.GetSmartContract('./MetaContract.sol');
```
this return:
```js
{
type: 'SourceUnit',
children: [
{
type: 'PragmaDirective',
name: 'solidity',
value: '>=0.7.0 <0.9.0'
},
{
type: 'ContractDefinition',
name: 'MetaContract',
baseContracts: [],
subNodes: [Array],
kind: 'contract'
}
]
}
```
### CheckSmartContract
this function checks the status of the previously made request, so that it can be confirmed if it is a valid request.
```js
var smart = await safir.GetSmartContract('./MetaContract.sol');
var locale = await safir.CheckSmartContract(smart);
```
### SendForRemix
This function verifies the contract with the Remix API where a verification is requested within the Etherium IPFS where it will return a Hash containing the request information, if it is successfully verified.
```js
var remix = await safir.SendForRemix(smart);
```
this return
```js
{
Name: 'QmekfvjFTUq1n9Ku45c3aLXQfYPSSN81fLCRx2893B6oKL',
Hash: 'QmekfvjFTUq1n9Ku45c3aLXQfYPSSN81fLCRx2893B6oKL',
Size: '1372'
}
```
## developer contact
> Telegram: