Most recent docs update before release
This commit is contained in:
parent
63df231981
commit
11043bd4a8
@ -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
|
@ -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`_)
|
||||
|
@ -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
|
||||
*****************
|
||||
|
@ -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.
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -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.
|
||||
|
||||
|
||||
|
||||
|
@ -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
|
||||
|
@ -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
|
||||
|
Loading…
Reference in New Issue
Block a user