Contributing – 贡献区块链毕设代写

区块链毕设代写本文提供国外最新区块链项目源码下载,包括solidity,eth,fabric等blockchain区块链,Contributing – 贡献区块链毕设代写 是一篇很好的国外资料

Contributing - 贡献

TypeChain

🔌 TypeScript bindings for Ethereum smartcontracts

Contributing - 贡献 Contributing - 贡献 Contributing - 贡献 Contributing - 贡献

Medium post | DappCon Video

Contributed with:
Contributing - 贡献

Features

  • static typing – you will never call not existing method again
  • IDE support – works with any IDE supporting Typescript
  • extendible – work with many different APIs: ethers.js v4, truffle v4, truffle v5, Web3.js v1 or you can create your own target
  • frictionless – works with simple, JSON ABI files as well as with Truffle style ABIs

Installation

npm install --save-dev typechain

You will also need to install a desired target for example @typechain/ethers-v4. Learn more about targets

Packages 📦

Package Version Description Examples
typechain Contributing - 贡献 Core package
@typechain/ethers-v5 Contributing - 贡献 Ethers ver 5 support (⚠️ requires TS 3.8 >=) example
@typechain/ethers-v4 Contributing - 贡献 Ethers ver 4 support example
@typechain/truffle-v5 Contributing - 贡献 Truffle ver 5 support example
@typechain/truffle-v4 Contributing - 贡献 Truffle ver 4 support example
@typechain/web3-v1 Contributing - 贡献 Web3 ver 1 support example

Usage

CLI

typechain --target=(ethers-v4|truffle-v4|truffle-v5|web3-v1|path-to-custom-target) [glob] 
  • glob – pattern that will be used to find ABIs, remember about adding quotes: typechain "**/*.json", examples: ./abis/**/*.abi, ./abis/?(Oasis.abi|OasisHelper.abi).
  • --target – ethers-v4, truffle-v4, truffle-v5, web3-v1 or path to your custom target. Typechain will try to load package named: @typechain/${target}, so make sure that desired package is installed.
  • --outDir (optional) – put all generated files to a specific dir.

TypeChain always will rewrite existing files. You should not commit them. Read more in FAQ section.

Example:

typechain --target ethers-v4 --outDir app/contracts './node_modules/neufund-contracts/build/contracts/*.json' 

Demo 🏎️

Contributing - 贡献

Example usage

Getting started 📚

Motivation

Interacting with blockchain in Javascript is a pain. Web3 interface is sluggish and when using it with Typescript it gets even worse. Often, you can’t be sure what given method call will actually do without looking at ABI file. TypeChain is here to solve these problems (as long as you use Typescript).

How does it work?

TypeChain is code generator – provide ABI file and you will get Typescript class with flexible interface for interacting with blockchain. Depending on the target parameter it can generate typings for truffle, web3 1.0.0 or ethers.

Step by step guide

Install typechain with yarn add --dev typechain and install desired target.

Run typechain --target=your_target (you might need to make sure that it’s available in your path if you installed it only locally), it will automatically find all .abi files in your project and generate Typescript classes based on them. You can specify your glob pattern: typechain --target=your_target "**/*.abi.json". node_modules are always ignored. We recommend git ignoring these generated files and making typechain part of your build process.

That’s it! Now, you can simply import typings, check out our examples for more details.

Targets 🎯

Ethers.js v4 / v5

Use ethers-v4 target to generate wrappers for ethers.js lib.

Truffle v4 / v5

Truffle target is great when you use truffle contracts already. Check out truffle-typechain-example for more details. It require installing typings for truffle library itself.

Now you can simply use your contracts as you did before and get full type safety, yay!

Web3 v1

Generates typings for contracts compatible with latest stable Web3.js version. Typings for library itself are now part of the Web3 1.0.0 library so nothing additional is needed. For now it needs explicit cast as shown here, this will be fixed after improving official typings.

NatSpec support

If you provide solidity artifacts rather than plain ABIs as an input, TypeChain can generate NatSpec comments directly to your typings which enables simple access to docs while coding.

Your own target

This might be useful when you’re creating a library for users of your smartcontract and you don’t want to lock yourself into any API provided by Web3 access providing library. You can generate basically any code (even for different languages than TypeScript!) that based on smartcontract’s ABI.

FAQ 🤔

Q: Should I commit generated files to my repository?

A: NO — we believe that no generated files should go to git repository. You should git ignore them and make typechain run automatically for example in post install hook in package.json:

"postinstall":"typechain" 

When you update ABI, just regenerate files with TypeChain and Typescript compiler will find any breaking changes for you.

Q: How do I customize generated code?

A: You can create your own target and generate basically any code.

Q: Generated files won’t match current codestyle of my project 🙁

A: We will automatically format generated classes with prettier to match your coding preferences (just make sure to use .prettierrc file).

Furthermore, we will silent tslint for generated files with /* tslint:disable */ comments.

Usage as API

You may want to use ts-generator api to kick off whole process by api:

import { tsGenerator } from 'ts-generator' import { TypeChain } from 'typechain/dist/TypeChain'  async function main() {   const cwd = process.cwd()    await tsGenerator(     { cwd },     new TypeChain({       cwd,       rawConfig: {         files: 'your-glob-here',         outDir: 'optional out dir path',         target: 'your-target',       },     }),   ) }  main().catch(console.error)

Contributing

Check out our contributing guidelines

Licence

Krzysztof Kaczor (krzkaczor) MIT | Github | Twitter

We use optional third-party analytics cookies to understand how you use GitHub.com so we can build better products. Learn more.


Contributing - 贡献

类型链

🔌 以太坊eth智能合约的TypeScript绑定例如@typechain/ethers-v4。

示例:

<Contributing>

示例用法

与Javascript中的区块链blockchain交互是一件痛苦的事。Web3接口是迟钝的,当它与Typescript一起使用时,它会变得更糟。如果不看文件,你就不能经常调用ABI方法。TypeChain就是为了解决这些问题(只要你使用Typescript)。与区块链blockchain交互的

功能⚡

  • 静态类型-您将永远不会调用不存在的方法
  • IDE支持-可与任何IDE支持Typescript
  • 可扩展-可用于多种不同的API:以太网.jsv4、truffle v4、truffle v5、Web3.js v1或您可以创建自己的目标
  • flictionless-可以处理简单的JSON ABI文件,也可以使用truffle样式的ABI文件

安装

npm install --save-dev typechain

使用yarn add–dev typechain安装typechain并安装所需的目标。

软件包📦

>示例

Package Version Description Examples
类型链 Contributing - 贡献 核心包 @typechain/ethers-v5
<Contributing> ethers-v5支持(⚠️ 需要TS 3.8&gt; Ethers ver 5 support (⚠️ requires TS 3.8 >=)

@typechain/ethers-v4 Contributing - 贡献 支持以太4版以太4版支持 示例 @typechain/trunfle-v5 <<<Contributing 对truffle 5版5的支持
@typechain/ethers-v4 Contributing - 贡献 支持以太4版以太4版支持 示例
@typechain/trunfle-v5 Contributing - 贡献 <<<Contributing 对truffle 5版5的支持
@typechain/truffle-v4 Contributing - 贡献 Truffle ver 4 support example
@typechain/web3-v1 <<标签>> Truffle 4版支持 示例 Truffle 4版支持 示例

用法

CLI

typechain --target=(ethers-v4|truffle-v4|truffle-v5|web3-v1|path-to-custom-target) [glob] 
  • glob-将用于查找ABI的模式,请记住添加引号:typechain“**/*.json”,示例:./abis/**/*.abi,./abis/?(绿洲.abi|OasisHelper.abi公司).
  • –target-ethers-v4、truffle-v4、truffle-v5、web3-v1或自定义目标的路径。Typechain将尝试加载名为:@Typechain/${target}的包,因此请确保安装了所需的包。
  • –outDir(可选)-将所有生成的文件放入特定的目录。

Run typechain–target=youru target(如果只在本地安装,则可能需要确保路径中有可用的文件),它将自动查找项目中的所有.abi文件并基于它们生成Typescript类。您可以指定glob模式:typechain–target=youru target“***/*。abi.json文件”. 节点_模块始终被忽略。我们建议git忽略这些生成的文件,并将typechain作为构建过程的一部分。

就这样!现在,您可以简单地导入类型,查看我们的示例了解更多细节。

typechain --target ethers-v4 --outDir app/contracts './node_modules/neufund-contracts/build/contracts/*.json' 

演示🏎️

使用ethers-v4目标为以太网.js解放军。

当您已经使用Truffle合同时,Truffle target非常好。查看truffle typechain示例了解更多详细信息。它需要为truffle库本身安装打字机。

入门📚 动机是如何起作用的?

分步指南

目标🎯

以太网.jsv4/v5

Truffle v4/v5

Web3 v1

NatSpec支持

您自己的目标

常见问题解答🤔

Q:我应该将生成的文件提交到我的存储库吗?

Q:如何定制生成的代码?

Q:生成的文件与我项目的当前代码样式不匹配:(

作为API使用

贡献

许可证

基本cookies
始终处于活动状态
分析cookies
  • 静态类型-您将永远不会调用不存在的方法
  • IDE支持-可与任何IDE支持Typescript
  • 可扩展-可用于多种不同的API:以太网.jsv4、truffle v4、truffle v5、Web3.js v1或您可以创建自己的目标
  • flictionless-可以处理简单的JSON ABI文件,也可以使用truffle样式的ABI文件
  • glob-将用于查找ABI的模式,请记住添加引号:typechain“**/*.json”,示例:./abis/**/*.abi,./abis/?(绿洲.abi|OasisHelper.abi公司).
  • –target-ethers-v4、truffle-v4、truffle-v5、web3-v1或自定义目标的路径。Typechain将尝试加载名为:@Typechain/${target}的包,因此请确保安装了所需的包。
  • –outDir(可选)-将所有生成的文件放入特定的目录。
  • 类型链 Contributing - 贡献 核心包 @typechain/ethers-v5 <Contributing> ethers-v5支持(⚠️ 需要TS 3.8&gt;

    @typechain/ethers-v4 Contributing - 贡献 支持以太4版以太4版支持 示例 @typechain/trunfle-v5 <<<Contributing 对truffle 5版5的支持

    >示例 <<标签>> Truffle 4版支持 示例

    分步指南

    现在你可以像以前一样简单地使用你的合同,并获得完全类型的安全,耶!

    目标🎯

    为与最新稳定的Web3.js版本兼容的合同生成类型。库本身的类型现在是Web3 1.0.0库的一部分,因此不需要额外的操作。现在它需要显式的强制转换,如这里所示,这将在改进官方打字后修复。

    以太网.jsv4/v5

    如果您提供solidity工件而不是普通的abi作为输入,TypeChain可以直接为您的类型生成NatSpec注释,这样可以在编码时简单地访问文档。

    当您为smartcontract的用户创建库并且不想将自己锁定到Web3 access Provising library提供的任何API时,这可能会很有用。你基本上可以生成任何代码(即使是不同于TypeScript的语言!)基于smartcontract的ABI。

    A:不-我们认为生成的文件不应该放到git存储库中。您应该git忽略它们,并使typechain自动运行,例如在安装后挂接中包.json:

    Truffle v4/v5

    Web3 v1

    更新ABI时,只需使用TypeChain和Typescript编译器重新生成文件,就会为您找到任何突破性的更改。

    NatSpec支持

    A:您可以创建自己的目标并生成基本上任何代码。

    A:我们将自动使用prettier格式化生成的类,以匹配您的编码偏好(只需确保使用.prettierrc文件)。

    您自己的目标

    此外,我们将使用/*tslint:禁用*/评论。

    常见问题解答🤔

    您可能需要使用ts generator api来启动api的整个流程:

    Q:我应该将生成的文件提交到我的存储库吗?

    请查看我们的贡献指南

    Q:如何定制生成的代码?

    Q:生成的文件与我项目的当前代码样式不匹配:(

    Krzysztof Kaczor(krzkaczor)MIT | Github | Twitter

    "postinstall":"typechain" 

    我们使用可选的第三方分析cookie来了解您如何使用GitHub.com网站所以我们可以制造更好的产品。了解更多。

    作为API使用

    我们使用可选的第三方分析cookies来了解您如何使用GitHub.com网站所以我们可以制造更好的产品。
    您可以随时通过单击页面底部的Cookie首选项来更新您的选择。有关更多信息,请参阅我们的隐私声明。

    贡献

    我们使用基本Cookie来执行基本的网站功能,例如,它们用于让您登录。了解更多

    我们使用analytics Cookie来了解您如何使用我们的网站,以便我们能够使其变得更好,例如,它们用于收集有关您访问的页面以及完成一项任务需要多少次单击的信息。了解更多

    许可证

    You may want to use ts-generator api to kick off whole process by api:

    import { tsGenerator } from 'ts-generator' import { TypeChain } from 'typechain/dist/TypeChain'  async function main() {   const cwd = process.cwd()    await tsGenerator(     { cwd },     new TypeChain({       cwd,       rawConfig: {         files: 'your-glob-here',         outDir: 'optional out dir path',         target: 'your-target',       },     }),   ) }  main().catch(console.error)

    基本cookies

    Check out our contributing guidelines

    始终处于活动状态

    Krzysztof Kaczor (krzkaczor) MIT | Github | Twitter

    We use optional third-party analytics cookies to understand how you use GitHub.com so we can build better products. Learn more.

    部分转自网络,侵权联系删除区块链源码网

    www.interchains.cc

    https://www.interchains.cc/19032.html

    区块链毕设网(www.interchains.cc)全网最靠谱的原创区块链毕设代做网站 部分资料来自网络,侵权联系删除! 最全最大的区块链源码站 !
    区块链知识分享网, 以太坊dapp资源网, 区块链教程, fabric教程下载, 区块链书籍下载, 区块链资料下载, 区块链视频教程下载, 区块链基础教程, 区块链入门教程, 区块链资源 » Contributing – 贡献区块链毕设代写

    提供最优质的资源集合

    立即查看 了解详情