使用
调试模式
http://192.168.56.1:9009/proof.js?t=随机数/时间戳
生产环境
#导入文件 import Proof from '../proof' #npm安装依赖 npm install -S proofjs
web3js二次封装文档
导入 import Proof from '../proof'
文件 实例化 new Proof
对象
方法调用
Promise
风格
Proof
async/await
风格async/await
需要使用trycatch
来捕获错误
try const balance = await Proof catch error // Handle error. Likely the user rejected the login: console
MetaMask对象
需要Chrome浏览器安装MetaMask
插件, 使用中暴露全局对象 Proof
示例:
let account = Proof.selectedAddress
属性
isMetaMask
检测是否有MetaMask
插件
selectedAddress
当前选定账户
networkVersion
当前区块链的网络 ID
let networkData =
networkName
当前区块链的网络 名称
方法()
一般都需要查链上数据
login()
完成
MetaMask 登录
参数: 无
返回值:
/** * * 返回用户详情信息 * @return
示例
})
isValidToken()
完成
Token 名称是否有效(是否已经注册过且链上未过期)
参数:
_symbol
: Token 符号
返回值:
false : true 是否有效
示例
Proof.isValidToken.then((r)=>{ console.log;})
name()
完成
代币名称
参数: 无
示例
})
symbol()
完成
代币符号
参数: 无
示例
})
decimals()
完成
获取小数点
参数: 无
示例
})
totalSupply()
完成
获取当前账户代币余额
参数:
_tokenSymbol
代币符号 (默认不传为平台代币币种)
unit
: 单位 默认 'ether' 为(ETH)单位
示例
Proof.totalSupply.then((r)=>{ console.log;})
balanceOf()
完成
获取某一地址的代币余额
参数:
address
: 地址
_tokenSymbol
代币符号 (默认不传为平台代币币种)
unit
: 单位 默认 'ether' 为(ETH)单位
示例
Proof.balanceOf.then((b)=>{ console.log;})
getBalance(address, unit)
完成
获取ETH
余额
参数:
address
: 默认当前选定状态账户
unit
: 单位 默认 'ether' 为(ETH)单位
示例
Proof.getBalance.then((r)=>{ console.log;})
signData()
完成
签名数据 Signature
参数:
value
: 默认当前选定状态账户
address
: 地址 默认当前用户地址(可不传)
返回值: 签名
示例
Proof.signData.then((r)=>{ console.log;})
matemaskTransferFrom()
(废弃)
使用MetaMask
参数:
_to
: 向指定地址
_value
:
示例
Proof.matemaskTransferFrom.then((res)=>{ console.log;})
transfer()
完成
转代币 (注册费 给平台的)
参数:
_to
: 收件人的地址
_value
: 要传输的Token数量
示例
Proof.transfer.then((res)=>{ console.log;})
getTickerDetails()
完成
返回给定ticker的所有者和时间戳(详情)
参数:
_tokenSymbol
: 唯一的令牌代码
Proof.getTickerDetails.then((r)=>{ console.log;})
approveToken()
完成
授权Token (付250的手续费) 当不传代币符号时不会查询token符号有没有注册过
参数:
_tokenSymbol
: 唯一的令牌代码 (校验是否已经执行过)
_type
: 'register'(注册)/'generate'(创建)
_owner
: 令牌所有者的地址(默认当前地址) 可不传
返回值:
状态码
# 待定功能
status
: 交易状态
gasUsed
: 矿工费
blockNumber
: 交易所在块的编号
transactionHash
: 交易hash
contractAddress
: 合约地址
url
: 查看交易详情URL
示例
Proof.approveToken.then((r)=>{ console.log;})
registerToken()
完成
注册代币(写入链上)
参数:
_tokenSymbol
: 唯一的令牌代码
_tokenName
: 令牌的名称
_owner
: 令牌所有者的地址(默认当前地址) 可不传
返回值:
status
: 交易状态
gasUsed
: 矿工费
blockNumber
: 交易所在块的编号
transactionHash
: 交易hash
contractAddress
: 合约地址
url
: 查看交易详情URL
示例
Proof.registerToken.then((r)=>{ console.log;})
generateToken()
完成
创建Token(部署到链上)
参数:
_tokenSymbol
: 唯一的令牌代码
_tokenName
: 令牌的名称
_tokenDetails
: 附加信息 (可不传)
_divisible
: 是否可以整除 (默认false)
返回值:
status
: 交易状态
gasUsed
: 矿工费
blockNumber
: 交易所在块的编号
transactionHash
: 交易hash
contractAddress
: 合约地址
url
: 查看交易详情URL
示例
Proof.generateToken.then((r)=>{ console.log;})
getSecurityTokenData()
完成
创建Token(部署到链上)
参数:
_address
: 唯一的令牌代码
返回值:
Token 信息
示例
Proof.getSecurityTokenData.then((r)=>{ console.log})
setCountTM()
完成
设置持有人数量
参数:
_count
: 数量 (-1 为暂停)
_tokenSymbol
: 代币符号
返回值:
status
: 交易状态
gasUsed
: 矿工费
blockNumber
: 交易所在块的编号
transactionHash
: 交易hash
contractAddress
: 合约地址
url
: 查看交易详情URL
示例
Proof.setCountTM.then((r)=>{ console.log;})
getCountTM()
完成
获取持有人数量
参数:
_tokenSymbol
: 代币符号
返回值:
当前数量
示例
Proof.getCountTM.then((r)=>{ console.log;})
setPercentageTM()
完成
设置百分比
参数:
_percentage
: 百分比 (-1 为暂停)
_tokenSymbol
: 代币符号
返回值:
status
: 交易状态
gasUsed
: 矿工费
blockNumber
: 交易所在块的编号
transactionHash
: 交易hash
contractAddress
: 合约地址
url
: 查看交易详情URL
示例
Proof.setPercentageTM.then((r)=>{ console.log;})
getPercentageTM()
完成
获取持有人数量
参数:
_tokenSymbol
: 代币符号
返回值:
当前百分比
示例
Proof.getPercentageTM.then((r)=>{ console.log;})
setPauseTM()
完成
设置暂停开关
参数:
_tokenSymbol
: 代币符号
_type
: 类型 'count'-数量 'percentage'-百分比
_bool
: 开启/关闭 Boolean
返回值:
status
: 交易状态
gasUsed
: 矿工费
blockNumber
: 交易所在块的编号
transactionHash
: 交易hash
contractAddress
: 合约地址
url
: 查看交易详情URL
示例
Proof.setPauseTM.then((r)=>{ console.log;})
getTransferManagerInfo()
完成
获取数量 百分比信息
参数:
_tokenSymbol
: 代币符号
返回值:
当前百分比
示例
Proof.getTransferManagerInfo.then((r)=>{ console.log;})
setWhitelistMultiTM()
完成
添加或删除白名单中的地址
参数:
_tokenSymbol
: 代币符号
_whitelist
: 白名单对象
address: '白名单的地址列表' from: '销售锁定期结束且投资者可以自由出售其代币的那一刻' to: '购买锁定期结束且投资者可以从其他人那里自由购买代币的那一刻' expiry: '投资者KYC的一系列时刻将得到验证' canBuyFromSTO: true
返回值:
status
: 交易状态
gasUsed
: 矿工费
blockNumber
: 交易所在块的编号
transactionHash
: 交易hash
contractAddress
: 合约地址
url
: 查看交易详情URL
示例
Proof.setWhitelistMultiTM.then((r)=>{ console.log;})
setMintMultiTM()
完成
创造新的代币并将其分配给目标投资者(挖矿)
参数:
_tokenSymbol
: 代币符号
_distribData
: 分配对象
address: '0xee7ae74d964f2be7d72c1b187b38e2ed3615d4d1' //地址 amount: 1111 //金额
返回值:
status
: 交易状态
gasUsed
: 矿工费
blockNumber
: 交易所在块的编号
transactionHash
: 交易hash
contractAddress
: 合约地址
url
: 查看交易详情URL
示例
Proof.setMintMultiTM.then((r)=>{ console.log;})
getInvestors()
完成
获取投资者阵列的长度
参数:
_tokenSymbol
代币符号 (默认不传为平台代币币种)
示例
Proof.getInvestors.then((r)=>{ console.log;})
tokenDetails()
完成
Token 详情
参数:
_tokenSymbol
: 代币符号
返回值:
详情信息
示例
Proof.tokenDetails.then((r)=>{ console.log;})
upTokenDetails()
完成
更新 Token 附属信息
参数:
_tokenSymbol
: 代币符号
_tokenDetails
: 附属信息
返回值:
status
: 交易状态
gasUsed
: 矿工费
blockNumber
: 交易所在块的编号
transactionHash
: 交易hash
contractAddress
: 合约地址
url
: 查看交易详情URL
示例
Proof.upTokenDetails.then((r)=>{ console.log;})
isAddress()
完成
地址是否有效
参数:
_address
: 地址
返回值:
布尔值
示例
Proof.isAddress
isOnWhitelist()
完成
是否在白名单
参数:
_tokenSymbol
: 代币符号
_investor
: 地址
返回值:
布尔值
示例
Proof.isOnWhitelist.then((r)=>{ console.log;})
checkWhitelistMulti()
完成
校验白名单列表数据
参数:
_tokenSymbol
: 代币符号
_investors
: 地址列表
_type
: 默认(0)是否在白名单之内 KYC(1)投资有效期KYC
返回值:
verifiedArray
: 校验成功地址列表
failedArray
: 无效地址列表
示例
Proof.checkWhitelistMulti.then((r)=>{ console.log;})
accountsChanged()
完成
探测监听账号有变化
参数:
_callback
: 回调函数
返回值:
示例
Proof.accountsChanged((accounts)=>{ //账户发生变化 console.log })
"start": "cross-env NODE_ENV=development supervisor -w ./apk -i ./node_modules,./src,./public,./logs,./docs,./uploads,./unarchive ./apk/index.js", "dev": "webpack-dev-server --mode development", "build": "cross-env NODE_ENV=production webpack --mode production", "build:test": "rimraf ./dist && cross-env NODE_ENV=production webpack --mode production", "build:report": "npm run build --report", "dev:dist": "rollup -wm -c build/rollup.dev.config.js", "build:abi": "node --max-old-space-size=8096 build/build.js", "build:main": "node --max-old-space-size=8096 build/build.js"