Skip to content

Commit

Permalink
More changes for Fulcrum
Browse files Browse the repository at this point in the history
  • Loading branch information
cculianu committed Mar 26, 2020
1 parent 4883942 commit f9ce2d9
Show file tree
Hide file tree
Showing 3 changed files with 18 additions and 16 deletions.
12 changes: 7 additions & 5 deletions index.rst
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
Fulcrum Protocol
================

The Fulcrum protocol is basically the same as ElectrumX and other Electrum-based
protocol servers such Electrs. This protocol was initially designed for Bitcoin
BTC but has since been adopted by Bitcoin Cash for use with Electron Cash, and
has continues to evolve independently of BTC. The Bitcoin Cash variant of the
protocol is known as the Electrum Cash Protocol.
The `Fulcrum <https://github.com/cculianu/Fulcrum>`_ protocol is basically the same as
`ElectrumX <https://github.com/kyuupichan/electrumx>`_ and other Electrum-based protocol
servers such `ElectrsCash <https://github.com/BitcoinUnlimited/ElectrsCash>`_.
This protocol was initially designed for Bitcoin BTC but has since been adopted by Bitcoin Cash
for use with `Electron Cash <https://electroncash.org>`_, and continues to evolve
independently of BTC. The Bitcoin Cash variant of the protocol is known as
the Electrum Cash Protocol.

This documentation is intended to be a reference for client and server authors
alike.
Expand Down
12 changes: 6 additions & 6 deletions protocol-basics.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,13 +5,13 @@ Message Stream
--------------

Clients and servers communicate using **JSON RPC** over an unspecified underlying stream
transport. Examples include TCP, SSL, WS and WSS.
transport. Examples include TCP and SSL (with WS and WSS support planned for the future).

Two standards `JSON RPC 1.0
<http://www.jsonrpc.org/specification_v1>`_ and `JSON RPC 2.0
<http://www.jsonrpc.org/specification>`_ are specified; use of version
2.0 is encouraged but not required. Server support of batch requests
is not implemented in Fulcrum.
is *not implemented* in Fulcrum.

.. note:: A client or server should only indicate JSON RPC 2.0 by
setting the `jsonrpc
Expand All @@ -21,10 +21,10 @@ is not implemented in Fulcrum.
to function correctly. Those that do not will be disconnected and
possibly blacklisted.

Over TCP and SSL raw sockets each RPC call, and each response, MUST be terminated by a
single newline to delimit messages. The JSON specification does not permit control characters
within strings, so no confusion is possible there. However it does permit newlines as
extraneous whitespace between elements; client and server MUST NOT use newlines in such a
For the TCP and SSL transports: Each RPC call MUST be delimited by a single newline.
The JSON specification does not permit control characters within strings, so no
confusion is possible there. However it does permit newlines as extraneous
whitespace between elements; client and server MUST NOT use newlines in such a
way.

A server advertising support for a particular protocol version MUST
Expand Down
10 changes: 5 additions & 5 deletions protocol-methods.rst
Original file line number Diff line number Diff line change
Expand Up @@ -978,7 +978,7 @@ peers lists. It sould not be used by wallet clients.
server.banner
=============

Return a banner to be shown in the Electrum console.
Return a banner to be shown in the Electron Cash console.

**Signature**

Expand Down Expand Up @@ -1055,7 +1055,7 @@ Return a list of features and services supported by the server.
* *protocol_max*
* *protocol_min*

Strings that are the minimum and maximum Electrum protocol
Strings that are the minimum and maximum Electrum Cash protocol
versions this server speaks. Example: "1.1".

* *pruning*
Expand Down Expand Up @@ -1101,10 +1101,10 @@ Return a list of features and services supported by the server.
{
"genesis_hash": "000000000933ea01ad0ee984209779baaec3ced90fa3f408719526f8d77f4943",
"hosts": {"14.3.140.101": {"tcp_port": 51001, "ssl_port": 51002}},
"protocol_max": "1.0",
"protocol_min": "1.0",
"protocol_max": "1.4",
"protocol_min": "1.4.3",
"pruning": null,
"server_version": "ElectrumX 1.0.17",
"server_version": "Fulcrum 1.0.5",
"hash_function": "sha256"
}

Expand Down

0 comments on commit f9ce2d9

Please sign in to comment.