From 48839428c5b12fc67346a22cf4680021c2ec46ca Mon Sep 17 00:00:00 2001 From: Calin Culianu Date: Thu, 26 Mar 2020 20:38:23 +0200 Subject: [PATCH] More Fulcrum specific edits --- protocol-basics.rst | 17 ++++------------- protocol-changes.rst | 2 +- protocol-methods.rst | 2 +- 3 files changed, 6 insertions(+), 15 deletions(-) diff --git a/protocol-basics.rst b/protocol-basics.rst index 9dbbd54..26eed45 100644 --- a/protocol-basics.rst +++ b/protocol-basics.rst @@ -11,31 +11,22 @@ Two standards `JSON RPC 1.0 `_ and `JSON RPC 2.0 `_ are specified; use of version 2.0 is encouraged but not required. Server support of batch requests -is encouraged for version 1.0 but not required. +is not implemented in Fulcrum. .. note:: A client or server should only indicate JSON RPC 2.0 by setting the `jsonrpc `_ member of its messages to ``"2.0"`` if it supports the version 2.0 protocol in - its entirety. ElectrumX does and will expect clients advertizing so + its entirety. Fulcrum does and will expect clients advertizing so to function correctly. Those that do not will be disconnected and possibly blacklisted. -Clients making batch requests should limit their size depending on the -nature of their query, because servers will limit response size as an -anti-DoS mechanism. - Over TCP and SSL raw sockets each RPC call, and each response, MUST be terminated by a -single newline to delimit messages. Websocket messages are already framed so they MUST -NOT be newline terminated. The JSON specification does not permit control characters +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 way. -If using JSON RPC 2.0's feature of parameter passing by name, the -names shown in the description of the method or notification in -question MUST be used. - A server advertising support for a particular protocol version MUST support each method documented for that protocol version, unless the method is explicitly marked optional. It may support other methods or @@ -201,5 +192,5 @@ and confirm the returned roots match. .. note:: with 500,000 headers of 80 bytes each, a naïve server implementation would require hashing approximately 88MB of data to - provide a single merkle proof. ElectrumX implements an optimization + provide a single merkle proof. Fulcrum implements an optimization such that it hashes only approximately 180KB of data per proof. diff --git a/protocol-changes.rst b/protocol-changes.rst index 66948f9..0ba20a3 100644 --- a/protocol-changes.rst +++ b/protocol-changes.rst @@ -169,7 +169,7 @@ New methods Version 1.4.2 ============= - * :func:`server.features` changed the requirement of key *hosts* from being MUST be present to RECOMMENDED. Note that ElectrumX will not peer with your server without this key. + * :func:`server.features` changed the requirement of key *hosts* from being MUST be present to RECOMMENDED. Note that Fulcrum and ElectrumX will not peer with your server without this key. Version 1.4.3 ============= diff --git a/protocol-methods.rst b/protocol-methods.rst index 9c0e5f8..e18cbdc 100644 --- a/protocol-methods.rst +++ b/protocol-methods.rst @@ -992,7 +992,7 @@ Return a banner to be shown in the Electrum console. :: - "Welcome to Electrum!" + "Welcome to Fulcrum!" server.donation_address