Most recent docs update before release

This commit is contained in:
philip-morlier 2021-10-18 16:25:33 -07:00
parent 63df231981
commit 11043bd4a8
No known key found for this signature in database
GPG Key ID: 0323A143B7B6F663
7 changed files with 19 additions and 28 deletions

View File

@ -30,9 +30,6 @@ Initialize
* **Type:** func(*cli.Context, core.PluginLoader, core.logs )
* **Behavior:** Called as soon as the plugin is loaded, with the cli context and a reference to the plugin loader. This is your plugin's opportunity to initialize required variables as needed. Note that using the context object you can check arguments, and optionally can manipulate arguments if needed for your plugin.
.. todo:: explain that plugin could provide node.Node with
restricted.backend
InitializeNode
--------------
@ -40,6 +37,8 @@ InitializeNode
* **Type:** func(core.Node, core.Backend)
* **Behavior:** This is called as soon as the Geth node is initialized. The core.Node object represents the running node with p2p and RPC capabilities, while the Backend gives you access to a wide array of data you may need to access.
.. note:: If a particular plugin requires access to the node.Node object it can be obtained using the restricted package located in `PluGeth-Utils`_.
GetAPIs
-------
@ -354,7 +353,7 @@ logging based on the interfaces of `Log15 <https://github.com/inconshreveable/lo
.. _PluGeth-Utils: https://github.com/openrelayxyz/plugeth-utils
.. _*cli.Context: https://pkg.go.dev/github.com/urfave/cli#Context
.. _flag.FlagSet: https://pkg.go.dev/flag#FlagSet
.. _Native Plugin System: https://pkg.go.dev/plugin

View File

@ -7,7 +7,7 @@ Selected Plugin Hooks
Plugin Hooks
************
Plugeth provides several :ref:`hooks` from which the plugin can capture data from Geth. Additionally in the case of **subcommands** the provided hooks are designed to change the behavior of Geth.
Plugeth provides several hooks from which the plugin can capture data from Geth. Additionally in the case of **subcommands** the provided hooks are designed to change the behavior of Geth.
Hooks are called from functions within the plugin. For example, if we wanted to bring in data from the StateUpdate hook. We would impliment it like so:
(from `blockupdates`_)

View File

@ -11,10 +11,12 @@ From Here:
- If your goal is to run existing plugns without sourcecode: :ref:`install`
- If your goal is to build and deploy existing plugins or make custom plugins: :ref:`build`
- If your goal is to build cutsom plugins: :ref:`custom`
.. warning:: Right now PluGeth is in early development. We are
still settling on some of the plugin APIs, and are
not yet making official releases. From an operational
perspective, PluGeth should be as stable as upstream Geth less whatever isstability is added by plugins you might run. But if you plan to run PluGeth today, be aware that furture updates will likely break you plugins.
perspective, PluGeth should be as stable as upstream Geth less whatever instability is added by plugins you might run. But if you plan to run PluGeth today, be aware that furture updates will likely break your plugins.
Table of Contents
*****************

View File

@ -9,14 +9,12 @@ PluGeth provides a pre-built PluGeth-Geth node as well as pre-built plugins avai
First download the latest PluGeth `binary release`_.
.. todo:: more language about installing download
Our curated list of plugin builds can be found `here`_
After downloading, move the .so files into the ~/.ethereum/plugins directory.
.. todo:: Build a binary release so as to provide a usable
example. Maybe a different example than hello so that there are two generic cases for which there are tutorials. -- or -- We should provide examples of the common scenerios in which geth has to be started with flags or connected to with web sockets.

View File

@ -21,24 +21,24 @@ Three Repositories
PluGeth is an application built in three repositories:
`PluGeth`_
**********
----------
The largest of the three Repositories, PluGeth is a fork of Geth which has been modified to enable a plugin architecture. The Plugin loader, wrappers, and hooks all reside in this repository.
`PluGeth-Utils`_
****************
----------------
Utils are small packages used to develop PluGeth plugins without Geth dependencies. For a more detailed analysis of the reasons see :ref: `core_resticted`. Imports from Utils happen automatically and so most users need not clone a local version.
Utils are small packages used to develop PluGeth plugins without Geth dependencies. For a more detailed analysis of the reasons see :ref:`core_restricted`. Imports from Utils happen automatically and so most users need not clone a local version.
`PluGeth-Plugins`_
******************
------------------
The packages from which plugins are buile are stored here. This repository contains premade plugins as well as providing a location for storing new custom plugins.
Dependency Scheme
-----------------
Version Control
*****************
:ref:`version`
In order to ensure that the the project can compile and is up to date see: :ref:`version`; to be familiar with dependencies and requirements.

View File

@ -47,6 +47,10 @@ Finally a series of functions which points to the MyService struct and corespond
}
func (b *MyBasicTracerService) CaptureEnd(output []byte, gasUsed uint64, t time.Duration, err error) {
}
func (b *MyBasicTracerService) CaptureEnter(typ core.OpCode, from core.Address, to core.Address, input []byte, gas uint64, value *big.Int) {
}
func (b *MyBasicTracerService) CaptureExit(output []byte, gasUsed uint64, err error) {
}
func (b *MyBasicTracerService) Result() (interface{}, error) { return "hello world", nil }
Access

View File

@ -24,9 +24,6 @@ Tracers
Tracers rely on historic data recompiled after execution to give insight into a transaction.
**placeholder for eventual discusion of LiveTracers**
Subscriptions
-------------
@ -34,14 +31,5 @@ Subscriptions provide real time notification of data from the EVM as it processe
.. NOTE:: Plugins are not limited to a singular functionality and can be customized to operate as hybrids of the above. See `blockupdates`_ as an example.
.. todo:: Austin: I don't love this page. The informations is too
shallow.
Reply: I'd be inclined to add links out to the tutorial page for each
of the types. I think it's useful to have brief descriptions of each
type in one place, but putting each of the tutorials all on one page
is a bit much. It might also be a good idea to link to real plugins
that exemplify each type, though we won't have one of each type yet.
.. _blockupdates: https://github.com/openrelayxyz/plugeth-plugins/tree/master/packages/blockupdates