1.1.23 • Published 4 years ago

fractal-web3 v1.1.23

Weekly downloads
2
License
MIT
Repository
github
Last release
4 years ago

安装及引用:

npm i fractal-web3 -S

import * as fractal from 'fractal-web3'; 

根据rpc功能划分了不同的域:

  • fractal.account.*: 包括查看账户、资产等功能
  • fractal.dpos.*: 包括查看竞选、出块节点信息以及dpos共识相关信息等功能
  • fractal.ft.*: 包括查看区块、交易信息以及签名、发送交易等功能
  • fractal.fee.*: 包括查看不同账户手续费的功能
  • fractal.miner.*: 包括启动挖矿、停止挖矿、设置coinbase等功能
  • fractal.p2p.*: 包括增加、删除节点等功能
  • fractal.txpool.*: 包括获取txpool信息以及设置gas price等功能
  • fractal.utils.*: 包括rlp编码、合约payload编码等功能

    rpc文档:https://github.com/fractalplatform/fractal/wiki/JSON-RPC

demo1:设置节点信息、查看账户信息

节点rpc默认是htp://127.0.0.1:8545,如不是,必须先设置好节点信息,才可进行后续操作

import * as fractal from 'fractal-web3';

const nodeInfo = 'htp://127.0.0.1:8545';
fractal.utils.setProvider(nodeInfo); //设置节点rpc信息

try { const accountInfo = await fractal.account.getAccountByName('fractal.admin'); ... } catch (error) { console(error);
}

demo2: 发送多签名交易

import * as fractal from 'fractal-web3';

// 交易完整结构体:{chainId, gasAssetId, gasPrice, actions:{actionType, accountName, nonce, gasLimit, toAccountName, assetId, amount, payload, remark}} // 其中chainId, gasAssetId, nonce, payload 以及 remark这几个参数如果不传,sdk会根据实际情况自动填充 txInfo = {...} signInfo1 = await fractal.ft.signTx(txInfo, privateKey1); //获取第一个签名 signInfo2 = await fractal.ft.signTx(txInfo, privateKey2); //获取第二个签名 multiSignInfos = [{signInfo1, 0}, {signInfo2, 1}]; parentIndex = 0; // 签名级别,如果为0,表示是自己账号签名,如果为1,表示父账号签名,如果为2,表示父父账号签名 fractal.ft.sendSeniorSigTransaction(txInfo, multiSignInfos, 0).then(txHash => {...}).catch(error => {...}); // 发送多签名交易

demo3: 发送单签名交易

import * as fractal from 'fractal-web3';

txInfo = {...} signInfo1 = await fractal.ft.signTx(txInfo, privateKey1, 0); fractal.ft.sendSingleSigTransaction(txInfo, signInfo1).then(txHash => {...}).catch(error => {...});

demo4: 合约方法调用
- 合约代码:

contract hello { string greeting;

function hello(string _greeting) public {
    greeting = _greeting;
}

function say() constant public returns (string) {
    return greeting;
}

}

- sdk调用方式

import * as fractal from 'fractal-web3';

// 调用合约的hello方法 const payload = fractal.utils.getContractPayload('hello', 'string', 'fractal blockchain'); //payload会填入txInfo中 const txInfo = {...} // 构造合约交易对象 signInfo1 = await fractal.ft.signTx(txInfo, privateKey1); fractal.ft.sendSingleSigTransaction(txInfo, signInfo1, 0).then(txHash => {...}).catch(error => {...});

// 调用合约的say方法,由于say是一个constant类型的方法,只需要从链上读取数据,因此不需要发送交易,只要调用rpc中的call方法即可获得结果 const payload = fractal.utils.getContractPayload('say', [], []); const callInfo = {actionType:0, from:'youraccount', to: 'contractAccountName', assetId:0, gas:100000, gasPrice:10, value:100, data:payload, remark:''}; fractal.ft.call(callInfo, 'latest').then(result=>{...});

1.1.23

4 years ago

1.1.22

4 years ago

1.1.21

5 years ago

1.1.20

5 years ago

1.1.19

5 years ago

1.1.18

5 years ago

1.1.17

5 years ago

1.1.16

5 years ago

1.1.15

5 years ago

1.1.14

5 years ago

1.1.13

5 years ago

1.1.12

5 years ago

1.1.11

5 years ago

1.1.10

5 years ago

1.1.9

5 years ago

1.1.8

5 years ago

1.1.7

5 years ago

1.1.6

5 years ago

1.1.5

5 years ago

1.1.4

5 years ago

1.1.3

5 years ago

1.1.2

5 years ago

1.1.1

5 years ago

1.1.0

5 years ago

1.0.61

5 years ago

1.0.60

5 years ago

1.0.59

5 years ago

1.0.58

5 years ago

1.0.57

5 years ago

1.0.55

5 years ago

1.0.54

5 years ago

1.0.53

5 years ago

1.0.52

5 years ago

1.0.51

5 years ago

1.0.50

5 years ago

1.0.49

5 years ago

1.0.48

5 years ago

1.0.47

5 years ago

1.0.46

5 years ago

1.0.45

5 years ago

1.0.44

5 years ago

1.0.43

5 years ago

1.0.42

5 years ago

1.0.41

5 years ago

1.0.40

5 years ago

1.0.39

5 years ago

1.0.38

5 years ago

1.0.37

5 years ago

1.0.36

5 years ago

1.0.35

5 years ago

1.0.34

5 years ago

1.0.33

5 years ago

1.0.32

5 years ago

1.0.31

5 years ago

1.0.30

5 years ago

1.0.29

5 years ago

1.0.28

5 years ago

1.0.27

5 years ago

1.0.26

5 years ago

1.0.25

5 years ago

1.0.24

5 years ago

1.0.23

5 years ago

1.0.22

5 years ago

1.0.21

5 years ago

1.0.20

5 years ago

1.0.19

5 years ago

1.0.18

5 years ago

1.0.17

5 years ago

1.0.16

5 years ago

1.0.15

5 years ago

1.0.14

5 years ago

1.0.13

5 years ago

1.0.12

5 years ago

1.0.11

5 years ago

1.0.10

5 years ago

1.0.9

5 years ago

1.0.8

5 years ago

1.0.7

5 years ago

1.0.6

5 years ago

1.0.5

5 years ago

1.0.4

5 years ago

1.0.3

5 years ago

1.0.2

5 years ago

1.0.1

5 years ago

1.0.0

5 years ago