@abridged/contracts 中文文档教程
Abridged contracts
Installation
$ npm i @abridged/contracts -S
Usage
Javascript
import {
ContractNames,
getContractAddress,
getContractAbiDefinition,
getContractByteCodeHash,
} from '@abridged/contracts';
console.log(
'AccountRegistry mainnet address:',
getContractAddress(ContractNames.AccountRegistry),
);
console.log(
'AccountRegistry kovan address:',
getContractAddress(ContractNames.AccountRegistry, '42'),
);
console.log(
'AccountFriendRecoveryExtension goerli address:',
getContractAddress(ContractNames.AccountFriendRecoveryExtension, 5),
);
console.log(
'ERC20Token abi definition:',
getContractAbiDefinition(ContractNames.ERC20Token),
);
console.log(
'Account byte code hash:',
getContractByteCodeHash(ContractNames.Account),
);
可用合约:
Name | abi | byteCodeHash | addresses |
---|---|---|---|
Account | ✅ | ✅ | |
AccountExternalDeposit | ✅ | ✅ | |
AccountRegistry | ✅ | ✅ | |
AccountFriendRecoveryExtension | ✅ | ✅ | |
ERC20Token | ✅ |
Solidity
pragma solidity ^0.5.12;
import {AccountRegistry} from "@abridged/contracts/contracts/account/AccountRegistry.sol";
// ...
Development
Test
$ npm run test
Compile
$ npm run compile
Migrate
配置通过环境变量:
Name | Default value |
---|---|
PROVIDER_MNEMONIC | (empty) |
PROVIDER_PRIVATE_KEY | (empty) |
PROVIDER_ENDPOINT | http://localhost:8545 |
INFURA_PROJECT_ID | (empty) |
脚本:
$ npm run migrate:main
$ npm run migrate:ropsten
$ npm run migrate:rinkeby
$ npm run migrate:goerli
$ npm run migrate:kovan
$ npm run migrate:local
Build dist
$ npm run dist
Initialize
通过环境变量配置:
Name | Default value |
---|---|
PROVIDER_MNEMONIC | (empty) |
PROVIDER_PRIVATE_KEY | (empty) |
PROVIDER_ENDPOINT | http://localhost:8545 |
INFURA_PROJECT_ID | (empty) |
PAYMENT_GUARDIAN_ADDRESS | (empty) |
脚本:
$ npm run initialize:main
$ npm run initialize:ropsten
$ npm run initialize:rinkeby
$ npm run initialize:goerli
$ npm run initialize:kovan
$ npm run initialize:local
License
Abridged contracts
Installation
$ npm i @abridged/contracts -S
Usage
Javascript
import {
ContractNames,
getContractAddress,
getContractAbiDefinition,
getContractByteCodeHash,
} from '@abridged/contracts';
console.log(
'AccountRegistry mainnet address:',
getContractAddress(ContractNames.AccountRegistry),
);
console.log(
'AccountRegistry kovan address:',
getContractAddress(ContractNames.AccountRegistry, '42'),
);
console.log(
'AccountFriendRecoveryExtension goerli address:',
getContractAddress(ContractNames.AccountFriendRecoveryExtension, 5),
);
console.log(
'ERC20Token abi definition:',
getContractAbiDefinition(ContractNames.ERC20Token),
);
console.log(
'Account byte code hash:',
getContractByteCodeHash(ContractNames.Account),
);
Available contracts:
Name | abi | byteCodeHash | addresses |
---|---|---|---|
Account | ✅ | ✅ | |
AccountExternalDeposit | ✅ | ✅ | |
AccountRegistry | ✅ | ✅ | |
AccountFriendRecoveryExtension | ✅ | ✅ | |
ERC20Token | ✅ |
Solidity
pragma solidity ^0.5.12;
import {AccountRegistry} from "@abridged/contracts/contracts/account/AccountRegistry.sol";
// ...
Development
Test
$ npm run test
Compile
$ npm run compile
Migrate
Config via env vars:
Name | Default value |
---|---|
PROVIDER_MNEMONIC | (empty) |
PROVIDER_PRIVATE_KEY | (empty) |
PROVIDER_ENDPOINT | http://localhost:8545 |
INFURA_PROJECT_ID | (empty) |
Scripts:
$ npm run migrate:main
$ npm run migrate:ropsten
$ npm run migrate:rinkeby
$ npm run migrate:goerli
$ npm run migrate:kovan
$ npm run migrate:local
Build dist
$ npm run dist
Initialize
Config via env vars:
Name | Default value |
---|---|
PROVIDER_MNEMONIC | (empty) |
PROVIDER_PRIVATE_KEY | (empty) |
PROVIDER_ENDPOINT | http://localhost:8545 |
INFURA_PROJECT_ID | (empty) |
PAYMENT_GUARDIAN_ADDRESS | (empty) |
Scripts:
$ npm run initialize:main
$ npm run initialize:ropsten
$ npm run initialize:rinkeby
$ npm run initialize:goerli
$ npm run initialize:kovan
$ npm run initialize:local