0.1.1 • Published 5 years ago
vscc-demo v0.1.1
Consistency Verification of Smart Contracts
Verify the consistency between the source code of a smart contract and its online runtimeCode
.
Usage
Interface
interface IVerifyContract {
sourceCode: string, // base64 of contract source code
isOptimizer?: boolean, // whether optimizer (default: false)
contractAddress: string, // contract address
solcVersion?: string, // compiler version (default: solc version)
params?: string, // contract constructor params encode abi (default: '')
contractName: string, // contract name for compile
txId: string, // txid of deployed contract
runs?: string, // compiler runs (default 200)
}
Example
const vscc = require('vscc-demo')
const fs = require('fs')
const path = require('path')
const binPath = path.join(__dirname, './bins')
async function testVscc() {
if(!fs.existsSync(bins)) {
fs.mkdirSync(bins)
}
const soljson424 = '0.4.24'
const base64Code = '/*source code*/'
const c_addr = '/*contract address*/'
const txId = '/*txid*/'
const runs = '200'
const p = {
sourceCode: base64Code,
isOptimizer: false,
contractAddress: c_addr,
solcVersion: soljson424,
contractName: '/*contract name*/',
txId: txId,
runs: runs
}
try {
const ins = new vscc.Vscc('/*rpc endpoint*/', binPath)
// return true or false
const re = await ins.verify(p)
console.log('re: ', re)
} catch (error) {
console.log(error)
}
}
References
License
- GNU v3