solgo-rpc

command module
v0.0.0-...-6c8d3ff Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 3, 2023 License: Apache-2.0 Imports: 5 Imported by: 0

README

Build Status Coverage Status Go Report Card License PkgGoDev

Solgo Remote Procedure Call (gRPC) Library

SolGo RPC is an extension of the SolGo project, providing a gRPC server that exposes the functionality of SolGo. This allows for the syntactic analysis of Solidity code, transforming it into a parse tree that can be traversed and manipulated, and enables further analysis.

This project is ideal for developers working with Solidity smart contracts who wish to leverage the power and efficiency of Golang for their analysis tools, and need a remote procedure call (RPC) framework for their applications.

WARNINGS

  • This project is still under heavy development, some of the features are not implemented yet.
  • This project is not yet ready for use in production.

Features

  • gRPC Server: SolGo RPC uses gRPC, a high-performance, open-source universal RPC framework, to expose the functionality of SolGo. This allows developers to interact with the Solidity parser remotely, making it more versatile and adaptable to various use cases.
  • Solidity Parsing: SolGo RPC leverages the Solidity parsing capabilities of SolGo, providing a structured format for Solidity code that enables effective analysis.
  • AST (Abstract Syntax Tree) Generation: Like SolGo, SolGo RPC includes an ASTBuilder that constructs an Abstract Syntax Tree for Solidity code. The AST represents the structure of the code and provides a high-level representation of its elements.
  • ABI Generation and Interaction: SolGo RPC can parse contract definitions to generate Ethereum contract ABIs (Application Binary Interfaces), providing a structured representation of the contract's functions, events, and variables.
  • Metadata Extraction: SolGo RPC can extract metadata from Solidity source code, including contract metadata and IPFS metadata. This information can be used for further analysis and interaction with the contract.
  • Contract Information: SolGo RPC can provide detailed information about a contract, including its functions, events, and state variables. This information can be used to understand the contract's behavior and structure.
  • Error Handling: SolGo RPC includes a listener which collects syntax errors encountered during parsing, providing detailed error information including line, column, message, severity, and context.

Getting Started

To be defined...

Contributing

Contributions to SolGo RPC are always welcome! If you have a feature request, bug report, or proposal for improvement, please open an issue. If you wish to contribute code, please fork the repository, make your changes, and submit a pull request.

License

SolGo RPC is licensed under the Apache 2.0. See LICENSE for the full license text.

Documentation

Overview

Copyright © 2023 TxPull <code@txpull.com>

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

Directories

Path Synopsis
Package options provides a way to manage global package settings.
Package options provides a way to manage global package settings.
Package server provides a gRPC server implementation for handling SolGo service requests.
Package server provides a gRPC server implementation for handling SolGo service requests.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL