Socket
Socket
Sign inDemoInstall

github.com/John-Tonny/vclsuite_vcld/rpc/jsonrpc/types/v2

Package Overview
Dependencies
0
Maintainers
0
Alerts
File Explorer

Install Socket

Protect your apps from supply chain attacks

Install

github.com/John-Tonny/vclsuite_vcld/rpc/jsonrpc/types/v2

Package types implements concrete types for marshalling to and from the dcrd JSON-RPC commands, return values, and notifications. When communicating via the JSON-RPC protocol, all requests and responses must be marshalled to and from the wire in the appropriate format. This package provides data structures and primitives that are registered with vcljson to ease this process. An overview specific to this package is provided here, however it is also instructive to read the documentation for the vcljson package (https://pkg.go.dev/github.com/John-Tonny/vclsuite_vcld/vcljson/v3). The types in this package map to the required parts of the protocol as discussed in the vcljson documentation To simplify the marshalling of the requests and responses, the vcljson.MarshalCmd and vcljson.MarshalResponse functions may be used. They return the raw bytes ready to be sent across the wire. Unmarshalling a received Request object is a two step process: This approach is used since it provides the caller with access to the additional fields in the request that are not part of the command such as the ID. Unmarshalling a received Response object is also a two step process: As above, this approach is used since it provides the caller with access to the fields in the response such as the ID and Error. This package provides two approaches for creating a new command. This first, and preferred, method is to use one of the New<Foo>Cmd functions. This allows static compile-time checking to help ensure the parameters stay in sync with the struct definitions. The second approach is the vcljson.NewCmd function which takes a method (command) name and variable arguments. Since this package registers all of its types with vcljson, the function will recognize them and includes full checking to ensure the parameters are accurate according to provided method, however these checks are, obviously, run-time which means any mistakes won't be found until the code is actually executed. However, it is quite useful for user-supplied commands that are intentionally dynamic. To facilitate providing consistent help to users of the RPC server, the vcljson package exposes the GenerateHelp and function which uses reflection on commands and notifications registered by this package, as well as the provided expected result types, to generate the final help text. In addition, the vcljson.MethodUsageText function may be used to generate consistent one-line usage for registered commands and notifications using reflection.

    v2.3.4

Version published
Maintainers
0

Readme

jsonrpc/types
=============

[![Build Status](https://github.com/John-Tonny/vclsuite_vcld/workflows/Build%20and%20Test/badge.svg)](https://github.com/John-Tonny/vclsuite_vcld/actions)
[![ISC License](https://img.shields.io/badge/license-ISC-blue.svg)](http://copyfree.org)
[![Doc](https://img.shields.io/badge/doc-reference-blue.svg)](https://pkg.go.dev/github.com/John-Tonny/vclsuite_vcld/rpc/jsonrpc/types/v2)

Package types implements concrete types for marshalling to and from the dcrd
JSON-RPC commands, return values, and notifications.  A comprehensive suite of
tests is provided to ensure proper functionality.

The provided types are automatically registered with
[vcljson](https://github.com/John-Tonny/vclsuite_vcld/tree/master/vcljson) when the package
is imported.  Although this package was primarily written for dcrd, it has
intentionally been designed so it can be used as a standalone package for any
projects needing to marshal to and from dcrd JSON-RPC requests and responses.

## Installation and Updating

```bash
$ go get -u github.com/John-Tonny/vclsuite_vcld/rpc/jsonrpc/types
```

## License

Package types is licensed under the [copyfree](http://copyfree.org) ISC License.

FAQs

Last updated on 23 Mar 2021

Did you know?

Socket installs a GitHub app to automatically flag issues on every pull request and report the health of your dependencies. Find out what is inside your node modules and prevent malicious activity before you update the dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc