amethysta
v1.0.2
Published
Smart Contract Validator
Downloads
6
Maintainers
Readme
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.
npm install amethysta
Then import this library in the root of your project
/**
* 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.
/**
* 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.
var smart = await safir.GetSmartContract('./MetaContract.sol');
this return:
{
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.
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.
var remix = await safir.SendForRemix(smart);
this return
{
Name: 'QmekfvjFTUq1n9Ku45c3aLXQfYPSSN81fLCRx2893B6oKL',
Hash: 'QmekfvjFTUq1n9Ku45c3aLXQfYPSSN81fLCRx2893B6oKL',
Size: '1372'
}
developer contact
Telegram: @VictorRatts