php 离线签名,txwrapper

@substrate/txwrapper

Helper funtions for offline transaction generation.

txwrapper.svg

badge.svg

License-Apache%202.0-blue.svg

txwrapper.svg

Note

If you are a chain builder looking to build a chain specific txwrapper please take a look at txwrapper-core and the guide for chain builders. Any feedback is welcome, just make an issue at that repo.

Get Started

yarn add @substrate/txwrapper

In a JS/TS file:

import {

createSignedTx,

createSigningPayload,

methods,

} from '@substrate/txwrapper';

const unsigned = methods.balance.transfer(

{

dest: 'FoQJpPyadYccjavVdTWxpxU7rUEaYhfLCPwXgkfD6Zat9QP',

value: 100,

},

{

// Additional information needed to construct the transaction offline.

}

);

const signingPayload = createSigningPayload(unsigned, { registry });

// On your offline device, sign the payload.

const signature = myOfflineSigning(signingPayload);

// `tx` is ready to be broadcasted.

const tx = createSignedTx(unsigned, signature, { metadataRpc, registry });

Have a look at the examples to see how you can perform the whole lifecycle of a transaction, from generation to signing to broadcast.

Go to documentation to see all available functions.

Contribute

We welcome contributions. Before submitting your PR, make sure to run the following commands:

yarn docs: Will generate docs based on code comments.

yarn test: Make sure all tests pass.

yarn lint: Make sure your code follows our linting rules. You can also run yarn lint --fix to automatically fix some of those errors.

Note for Maintainers

All the commits in this repo follow the Conventional Commits spec. When merging a PR, make sure 1/ to

use squash merge and 2/ that the title of the PR follows the Conventional Commits spec.

The history of commits will be used to generate the CHANGELOG. To do so, run yarn deploy on the master

branch. This command will look at all the commits since the latest tag, bump the package version according

to semver rules, and generate a new CHANGELOG.

If you don't want to follow semver or need to do a dry run, consult the standard-version CLI usage

docs. Flags for standard-version can be passed to yarn deploy.

yarn deploy, which only does local operations and doesn't push anything, will output more or

less the following lines:

$yarn deploy

yarn run v1.21.1

$yarn build && standard-version -r minor

$rimraf lib/ && tsc

✔ bumping version inpackage.json from 0.3.2 to 0.4.0

✔ outputting changes to CHANGELOG.md

✔ committing package.json and CHANGELOG.md

✔ tagging release v0.4.0

ℹ Run `git push --follow-tags origin master && npm publish` to publish

To publish the new package, run: git push --follow-tags origin master && npm publish.

You must have access to the @substrate organization on npm to publish.

Roadmap

API revamp to clarify handling of registry and metadataRpc.

Parachain support

Factor out utility functions and types (such as decode, getRegistry, createMethod etc) into a library for parachain

teams that allows them to release and maintain txwrapper libraries specific to their parachains. This could be called

@substrate/txwrapper-core. This lib will allow a parachain team to set up an offline signing lib with unit tests

quickly and painlessly while allowing users access to a consistent txwrapper API across parachains.

While the core utility will be factored out to its own dependency, dispatchables from generic substrate methods

will be published in a package @substrate/txwrapper-substrate and Polkadot/Kusama specific dispatchables will be available in

@substrate/txwrapper-polkadot. (This could be in a mono repo, but separate packages.) Parachains then create

their own txwrapper lib using the txwrapper-core and publish it as @{parachain-name}/txwrapper.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值