These 93 commits are when the Protocol Buffers files have changed:
Commit: | 6624d6b | |
---|---|---|
Author: | Andrea Gunderson | |
Committer: | Andrea Gunderson |
Remove Gameroom example Gameroom will not be supported in 0.7 Splinter. This commit removes the applications and all associated dockerfiles, kubernetes, and ci/just commands. Signed-off-by: Andrea Gunderson <agunde@bitwise.io>
The documentation is generated from this commit.
Commit: | e6120d1 | |
---|---|---|
Author: | Isabel Tomb | |
Committer: | Isabel Tomb |
Add decision_ack to 2pc message Add decision_ack to the scabbard store two phase commit message struct. Also add the decision_ack message type to the TwoPhaseCommitMessage proto and protocol. Signed-off-by: Isabel Tomb <tomb@bitwise.io>
Commit: | b8cca9f | |
---|---|---|
Author: | Andrea Gunderson | |
Committer: | Andrea Gunderson |
Add scabbard v3 protobuf message Contains the ScabbardMessageV3 message and the TwoPhaseCommitMessage that will be used by the consensus component of the new scabbard implementation. This message correlates to the TwoPhaseCommitMessage in Augrim Signed-off-by: Andrea Gunderson <agunde@bitwise.io>
Commit: | cb2b75d | |
---|---|---|
Author: | Ryan Beck-Buysse | |
Committer: | Ryan Beck-Buysse |
Update copyright headers to include 2022 Signed-off-by: Ryan Beck-Buysse <rbuysse@bitwise.io>
Commit: | ca112f3 | |
---|---|---|
Author: | Ryan Beck-Buysse | |
Committer: | Ryan Beck-Buysse |
Update copyright headers to include 2022 Signed-off-by: Ryan Beck-Buysse <rbuysse@bitwise.io>
Commit: | 544eadb | |
---|---|---|
Author: | Andrea Gunderson | |
Committer: | Andrea Gunderson |
Add picked public key to AuthChallengeSubmitResponse This will allow the node to know which public key is being used as their identity on the other node in the case multiple submit requests were used. Signed-off-by: Andrea Gunderson <agunde@bitwise.io>
Commit: | a1613ea | |
---|---|---|
Author: | Andrea Gunderson | |
Committer: | Andrea Gunderson |
Update AuthChallengeSubmitRequest protobuf and protocol The AuthChallengeSubmitRequest will return a list of public key/signature pairs. This is required because a splinterd can support multiple key pairs and it is not clear which one is the expected public key without a proposal. All public keys will be added as a separate connected peer. Signed-off-by: Andrea Gunderson <agunde@bitwise.io>
Commit: | 0500513 | |
---|---|---|
Author: | Andrea Gunderson |
Update protocol version to be u32 in authorization messages This matches the type of protocol versions used by libsplinter. Signed-off-by: Andrea Gunderson <agunde@bitwise.io>
Commit: | 3d18d83 | |
---|---|---|
Author: | Andrea Gunderson | |
Committer: | Andrea Gunderson |
Add public key to SplinterNode protobuf Signed-off-by: Andrea Gunderson <agunde@bitwise.io>
Commit: | bec9cfb | |
---|---|---|
Author: | Andi Gunderson | |
Committer: | GitHub |
Merge pull request #1336 from agunde406/challenge-auth Add Challenge Authorization to Circuits and Proposals in AdminServiceStore
Commit: | fb5a5e6 | |
---|---|---|
Author: | Andrea Gunderson | |
Committer: | Andrea Gunderson |
Add CHALLENGE_AUTHORIZATION to Circuit_AuthorizationType proto Signed-off-by: Andrea Gunderson <agunde@bitwise.io>
Commit: | 0dbfa6c | |
---|---|---|
Author: | Andrea Gunderson | |
Committer: | Andrea Gunderson |
Add new v1 Authorization protobuf messages These messages will be used to implement a new trust authorization as well as challenge authorization. The old messages are left for backwards compatibility. Signed-off-by: Andrea Gunderson <agunde@bitwise.io>
Commit: | aaccb78 | |
---|---|---|
Author: | Andrea Gunderson | |
Committer: | Andrea Gunderson |
Add ScabbardMessage types for pending batches back pressure These message types will be sent by the coordinator to non-coordinators to tell them to reject submitted batches until the pending batch queue length has decreased. Signed-off-by: Andrea Gunderson <agunde@bitwise.io>
Commit: | e19d9e9 | |
---|---|---|
Author: | Shannyn Telander | |
Committer: | Shannyn Telander |
Add payload proto to remove a proposal This change adds the proto definition for the `CircuitManagementPayload` used to request to remove a proposal. Signed-off-by: Shannyn Telander <telander@bitwise.io>
Commit: | 2351869 | |
---|---|---|
Author: | Shannyn Telander | |
Committer: | Shannyn Telander |
Add message for `RemovedProposal` This change adds the proto definition for the message sent to other prospective circuit members if one member removes a proposal. Signed-off-by: Shannyn Telander <telander@bitwise.io>
Commit: | a291d03 | |
---|---|---|
Author: | Shannyn Telander | |
Committer: | Shannyn Telander |
Remove `DisbandedCircuit` admin message This change removes the `DisbandedCircuit` message sent once a circuit that is going through the disband process has been committed to state by a node. In place of this message, the `MemberReady` message is sent to the other nodes as the admin service now handles either case, creating or disbanding a circuit, when it receives the `MemberReady` message. Signed-off-by: Shannyn Telander <telander@bitwise.io>
Commit: | dd6729c | |
---|---|---|
Author: | Logan Seeley | |
Committer: | Logan Seeley |
Update scabbard to send new batches to coordinator Updates scabbard V2 to send all new batches to the coordinator. This will allow scabbard to work correctly with V2 of the two-phase commit consensus algorithm, which only has the coordinator create proposals. Signed-off-by: Logan Seeley <seeley@bitwise.io>
Commit: | 5fc1bc2 | |
---|---|---|
Author: | Shannyn Telander | |
Committer: | Shannyn Telander |
Add `AbandonedCircuit` admin message Adds an `AbandonedCircuit` admin message variant, to allow for admin services to notify other admin services when a circuit is being abandoned. This also adds the experimental feature `circuit-abandon` to the libsplinter Cargo file, to gaurd the handling of this message. Signed-off-by: Shannyn Telander <telander@bitwise.io>
Commit: | 6ce0f6c | |
---|---|---|
Author: | Andrea Gunderson | |
Committer: | Andrea Gunderson |
Add 'schema' to circuit version to clarify meaning The word 'schema' has been added to the CLI, man pages, and code comments to clarify that circuit version refers to the schema of the data, not how many times the circuit has been updated. Signed-off-by: Andrea Gunderson <agunde@bitwise.io>
Commit: | d863cda | |
---|---|---|
Author: | Ryan Beck-Buysse | |
Committer: | Ryan Beck-Buysse |
Update copyright headers to include 2021 Signed-off-by: Ryan Beck-Buysse <rbuysse@bitwise.io>
Commit: | 83b09d2 | |
---|---|---|
Author: | Shannyn Telander | |
Committer: | Shannyn Telander |
Add `CircuitPurgeRequest` to admin proto Adds a `CircuitPurgeRequest` to the `CircuitManagementPayload`, to allow for inactive circuits to be purged, or removed from the admin store. Signed-off-by: Shannyn Telander <telander@bitwise.io>
Commit: | 53ef782 | |
---|---|---|
Author: | Shannyn Telander | |
Committer: | Shannyn Telander |
Add `DisbandedCircuit` admin message type Adds a `DisbandedCircuit` message to allow for member nodes of a circuit being disbanded to be able to come to consensus before the services associated with the circuit are removed. Signed-off-by: Shannyn Telander <telander@bitwise.io>
Commit: | 3c6bb7f | |
---|---|---|
Author: | Shannyn Telander | |
Committer: | Shannyn Telander |
Fix typo in admin protos Fixes a small typo of `protcol` -> `protocol`. Signed-off-by: Shannyn Telander <telander@bitwise.io>
Commit: | 158032f | |
---|---|---|
Author: | Shannyn Telander | |
Committer: | Shannyn Telander |
Rename `Destroy` to `Disband` in admin service Changes the `CircuitDestroyRequest` to `CircuitDisbandRequest` in the admin protos, as well as all other areas affected by renaming the `destroy` proposal type to `disband`. Signed-off-by: Shannyn Telander <telander@bitwise.io>
Commit: | 1713183 | |
---|---|---|
Author: | Shannyn Telander | |
Committer: | Shannyn Telander |
Add `circuit_status` field to circuits Adds a `circuit_status` field to the Circuit proto message, as well as the native structs that represent circuits, including the `Circuit` and `ProposedCircuit` in the admin store and the `CreateCircuit` struct in the admin messages. Also updates handling of circuits to include the status field. Signed-off-by: Shannyn Telander <telander@bitwise.io>
Commit: | 66b3c71 | |
---|---|---|
Author: | Andrea Gunderson | |
Committer: | Andrea Gunderson |
Add circuit version to circuit definitions Going forward, circuits will include an explicit version that will make it easier to tell what is included in a circuit. If a circuit does not have a version included it, is assumed to be 1. Signed-off-by: Andrea Gunderson <agunde@bitwise.io>
Commit: | 1954220 | |
---|---|---|
Author: | Andrea Gunderson | |
Committer: | Andrea Gunderson |
Add display_name to circuit and proposed circuit Updates the protobuf and store structs to have an optional human readable display name for a circuit. This does not change the REST API or CLI. Signed-off-by: Andrea Gunderson <agunde@bitwise.io>
Commit: | fc538f4 | |
---|---|---|
Author: | Peter Schwarz | |
Committer: | GitHub |
Merge pull request #810 from peterschwarz/component-message-handling Connect/Disconnect handlers for Service Component Messages
Commit: | c497ed6 | |
---|---|---|
Author: | Peter Schwarz | |
Committer: | Peter Schwarz |
Correct UNSET enum variant Correct the Status.UNSET_ERROR to UNSET_STATUS in the SMDisconnectResponse. Signed-off-by: Peter Schwarz <pschwarz@bitwise.io>
Commit: | 3acacea | |
---|---|---|
Author: | Peter Schwarz | |
Committer: | Peter Schwarz |
Add internal error responses Add an internal error response that can be sent to a service component if connection/disconnection fails for an internal reason. This helps to ensure that a service isn't waiting on a message that will never arrive. Signed-off-by: Peter Schwarz <pschwarz@bitwise.io>
Commit: | e21a22c | |
---|---|---|
Author: | Peter Schwarz | |
Committer: | Peter Schwarz |
Remove private counter example Remove the private counter example, as this uses the wire protocol for services, which is not yet well defined. Signed-off-by: Peter Schwarz <pschwarz@bitwise.io>
Commit: | 6797ba3 | |
---|---|---|
Author: | Peter Schwarz | |
Committer: | Peter Schwarz |
Remove private XO example Remove the private XO example, as this uses the wire protocol for services, which is not yet well defined. Signed-off-by: Peter Schwarz <pschwarz@bitwise.io>
Commit: | 4ceaea9 | |
---|---|---|
Author: | Logan Seeley | |
Committer: | Logan Seeley |
Move scabbard to its own crate Moves the scabbard service to its own crate located at `services/scabbard/libscabbard`. Also includes the following changes: - Move the scabbard-related protocol versions from `splinter::protocol` into the scabbard crate. - Put the service itself into a `service` submodule of the crate. - Reorganize some imports in the new scabbard crate. - Copy some of splinter's private hex functionality into the scabbard crate so it's usable by scabbard. - Move test code from the `splinter::service::test` module to the scabbard crate, since it's no longer used in `splinter`. - Update `splinterd`, `scabbard-cli`, and `gameroomd` to use the `scabbard` crate. - Rename the `scabbard-client` feature in the scabbard crate to just `client`, and remove the `scabbard-client` feature from libsplinter. Signed-off-by: Logan Seeley <seeley@bitwise.io>
Commit: | c5c3de2 | |
---|---|---|
Author: | Andrea Gunderson | |
Committer: | Andrea Gunderson |
Add ComponentHeartbeat protobuf message This proto message is meant to copy the NetworkHeartbeat Network message. Currently the ConnectionManager sends NetworkHeartbeat. Services and other components should also receive heartbeat messages. A ComponentHeartbeat message matches the bytes of the network message. Signed-off-by: Andrea Gunderson <agunde@bitwise.io>
Commit: | 7b3663b | |
---|---|---|
Author: | Andrea Gunderson | |
Committer: | Andrea Gunderson |
Fix typo in comment for NetworkHeartbeat Signed-off-by: Andrea Gunderson <agunde@bitwise.io>
Commit: | 99941c6 | |
---|---|---|
Author: | Peter Schwarz | |
Committer: | Peter Schwarz |
Add component messages Component messages include an envelope and message types for processes talking over the component (currently named service) endpoint. These components are isolated from the wider peer network, and only communicate with their local splinter node. This commit introduces the ComponentMessage envelope and its one contained envelope of ServiceMessage. This includes copies of the service related messages from the CircuitMessage envelope, which will eventually replace those messages. Signed-off-by: Peter Schwarz <pschwarz@bitwise.io>
Commit: | 957eaf7 | |
---|---|---|
Author: | Andrea Gunderson | |
Committer: | Andrea Gunderson |
Add service protocol version request/response messages These messages will be used by admin services to agree on what protocol version the will use. Signed-off-by: Andrea Gunderson <agunde@bitwise.io>
Commit: | b17fa94 | |
---|---|---|
Author: | Logan Seeley | |
Committer: | Logan Seeley |
Make splinter network endpoints plural Updates the network endpoints exposed by splinterd and listed in the node registry and circuit definitions to be lists of endpoints rather than single endpoints. This change will allow splinter nodes to expose endpoints for different protocols in the future. Signed-off-by: Logan Seeley <seeley@bitwise.io>
Commit: | 859aec1 | |
---|---|---|
Author: | Logan Seeley | |
Committer: | Logan Seeley |
Add comments field to Circuit Add the `comments` field to the `Circuit` protobuf and the corresponding native representation, `CreateCircuit`. This `string` field can be used to provide human-readable comments about the proposed circuit to make it easier for admins to distinguish between proposed circuits. Signed-off-by: Logan Seeley <seeley@bitwise.io>
Commit: | 08dad78 | |
---|---|---|
Author: | Ryan Beck-Buysse | |
Committer: | Ryan Beck-Buysse |
Update copyright headers to include 2020 Signed-off-by: Ryan Beck-Buysse <rbuysse@bitwise.io>
Commit: | a007642 | |
---|---|---|
Author: | Ryan Beck-Buysse | |
Committer: | Ryan Beck-Buysse |
Move root protos into libsplinter Having the protos as a peer of libpslinter was preventing publishing splinter as a crate, because 'cargo publish' only includes files from the current working directory. I considered adding the protos directory from the root using the include field, but the list of files needs to be exhaustive so this method was considered too error prone. Signed-off-by: Ryan Beck-Buysse <rbuysse@bitwise.io>
Commit: | 836e457 | |
---|---|---|
Author: | Andi Gunderson | |
Committer: | GitHub |
Merge pull request #289 from agunde406/service-connect Simplify Service where services can be connected
Commit: | 7c63350 | |
---|---|---|
Author: | Andrea Gunderson | |
Committer: | Andrea Gunderson |
Add NetworkHeartbeat message and handler This message will be used to keep connections alive and will be sent at some configurable interval. The handler will simply drop the message. Signed-off-by: Andrea Gunderson <agunde@bitwise.io>
Commit: | 84bb21e | |
---|---|---|
Author: | Andrea Gunderson | |
Committer: | Andrea Gunderson |
Remove Service Connect/Disconnect Forward messages These messages where used to tell other members of a circuit where a service was connected before the list of allowed nodes was added to the circuit defination. Catchup or discovery was missing from this mechanism and nodes/services could get out of sink about where services were located. The other handlers will be updated to assume the service is where it is allowed to be in the circuit defination. Signed-off-by: Andrea Gunderson <agunde@bitwise.io>
Commit: | ce903df | |
---|---|---|
Author: | Eloá Franca Verona | |
Committer: | Eloá Franca Verona |
Add sabre payload proto to gameroom-app Signed-off-by: Eloá Franca Verona <eloafran@bitwise.io>
Commit: | 7a1e086 | |
---|---|---|
Author: | Andrea Gunderson | |
Committer: | Andrea Gunderson |
Enforce that a service can only connect to an allowed node Only adds a service to splinter state if the node it is connecting to is in its allowed nodes. Signed-off-by: Andrea Gunderson <agunde@bitwise.io>
Commit: | a351f7f | |
---|---|---|
Author: | Logan Seeley | |
Committer: | Logan Seeley |
Fix service intitialization timing Fix the service initialization timing by waiting until all members of the new circuit are ready before initializing services. When an admin service has finished added a circuit to SplinterState, it will broadcast a MEMBER_READY message to the other admin services for that circuit. All admin services will wait until every member in the circuit has broadcast a MEMBER_READY message, then they will all initialize their services. This prevents a bug where one node's service registration message would arrive at another node before the 2nd node's circuit was created. Signed-off-by: Logan Seeley <seeley@bitwise.io>
Commit: | 6d6d5d1 | |
---|---|---|
Author: | Andrea Gunderson | |
Committer: | Andrea Gunderson |
Add UNSET_VOTE to CircuitProposalVote If the vote is not set it should be handled as an error not as an accept. Signed-off-by: Andrea Gunderson <agunde@bitwise.io>
Commit: | 88bc83c | |
---|---|---|
Author: | Andrea Gunderson | |
Committer: | Andrea Gunderson |
Add node_id to payload, proposal and vote record This includes the node id in the CircuitManagementPayload, CircuitProposal and VoteRecord. The node id is the node the signer of the messasge is associated with in the key registry. This will allow us to only verify registration and permissions once. Signed-off-by: Andrea Gunderson <agunde@bitwise.io>
Commit: | 419d534 | |
---|---|---|
Author: | Logan Seeley | |
Committer: | Logan Seeley |
Use local protobuf to remove sawtooth_sdk dep Updates scabbard to build the Setting protobuf (required by Sabre) locally rather than pulling it from the sawtooth_sdk. This allows us to change sawtooth_sdk to an optional dependency that's only needed with the `sawtooth-signing-compat` feature. Signed-off-by: Logan Seeley <seeley@bitwise.io>
Commit: | 9904791 | |
---|---|---|
Author: | Logan Seeley | |
Committer: | Logan Seeley |
Remove dynamic membership from scabbard Removes the dynamic membership code from scabbard; this was a half-baked attempt to implement dynamic membership, which doesn't make sense with the current circuit membership model. Signed-off-by: Logan Seeley <seeley@bitwise.io>
Commit: | bb07d8c | |
---|---|---|
Author: | Andrea Gunderson | |
Committer: | Andrea Gunderson |
Change public key in VoteRecord to bytes Signed-off-by: Andrea Gunderson <agunde@bitwise.io>
Commit: | 7ccd348 | |
---|---|---|
Author: | Andrea Gunderson | |
Committer: | Andrea Gunderson |
Simplify CircuitProposalVote With the additon of the header and signature in CircuitManagementPayload, CircuitProposalVote does not need the signature and public key anymore. So this commit removes Ballot and moves circuit id, circuit hash and vote into the main message. Also adds the signer of the request into the AdminServiceEvent::ProposalVote. Signed-off-by: Andrea Gunderson <agunde@bitwise.io>
Commit: | 3b44ddd | |
---|---|---|
Author: | Ryan Banks | |
Committer: | Ryan Banks |
Add Header and signature fields Add Header message type, header field, and signature field to `CircuitManagementPayload`. Signed-off-by: Ryan Banks <rbanks@bitwise.io>
Commit: | 2d37a14 | |
---|---|---|
Author: | Andrea Gunderson | |
Committer: | Andrea Gunderson |
Add arguments to SplinterService This will store information needed by the orchestrator when starting up service defined on a circuit. Signed-off-by: Andrea Gunderson <agunde@bitwise.io>
Commit: | 5333d86 | |
---|---|---|
Author: | Andrea Gunderson | |
Committer: | Andrea Gunderson |
Add missing durability to circuit definition Signed-off-by: Andrea Gunderson <agunde@bitwise.io>
Commit: | 7208d06 | |
---|---|---|
Author: | Andrea Gunderson | |
Committer: | Andrea Gunderson |
Add required_verifiers to ProposedCircuit This allows use to put the required_verifiers in the proposal created when receiving a message from another service. This commit also adds the required_verifiers to consensus_data in the consensus proposal created when receiving a message from another service. Signed-off-by: Andrea Gunderson <agunde@bitwise.io>
Commit: | a18c816 | |
---|---|---|
Author: | Andrea Gunderson | |
Committer: | Andrea Gunderson |
Add Two Phase Commit consensus to AdminService The AdminService now starts up a TwoPhase consensus engine. The engine will validate that the required nodes in a circuit proposal all have the circuit proposal after recieving the CircuitManagmentPayload. The proposal managers use the hash of the paylaod as its id and verifies that the services are working off the same hash of a circuit proposal. The ProposalManager now contains the code for sending the circuit payload on to the other splinter nodes in the circuit proposal. This commit also changes create_circuit to use the AdminServiceState instead of a clone of the AdminService because the admin service needs to hold on to a join handle for the consensus engine, which is not cloneable. This also requires that the AdminServiceState now holds the implementation for propose_circuit. Signed-off-by: Andrea Gunderson <agunde@bitwise.io>
Commit: | a283dcd | |
---|---|---|
Author: | Andrea Gunderson | |
Committer: | Andrea Gunderson |
Add AdminMessage to admin protos This message will be used to pass both the CircuitManagmentPayload messages and consensus messages between AdminServices. Signed-off-by: Andrea Gunderson <agunde@bitwise.io>
Commit: | 5ef539e | |
---|---|---|
Author: | Andrea Gunderson | |
Committer: | Andrea Gunderson |
Add the ability to set which peer_id need to approve a proposal Before TwoPhase commit would require that all peers set on engine start up would be required to validate the proposal before commit. This will not work for the AdminService which will require consensus between the members of the circuit described in the proposal and cannot be known at engine startup. This commit adds a new message for RequiredVerifiers where the peers that need to approve a proposal is set. The required verifiers message is set in the consensus data of proposal by a service. If the consensus data is not set, the peers provided at startup will be used. Signed-off-by: Andrea Gunderson <agunde@bitwise.io>
Commit: | 71c87eb | |
---|---|---|
Author: | Logan Seeley | |
Committer: | Logan Seeley |
Implement basic two-phase commit sabre service Introduces a new service implementation for runing Sawtooth Sabre smart contracts on a Splinter circuit. Signed-off-by: Logan Seeley <seeley@bitwise.io>
Commit: | 32f808a | |
---|---|---|
Author: | Peter Schwarz | |
Committer: | Peter Schwarz |
Add Circuit Admin Messages Add the series of protobuf messages to support circuit administration. Signed-off-by: Peter Schwarz <pschwarz@bitwise.io>
Commit: | 785ea1c | |
---|---|---|
Author: | Andrea Gunderson | |
Committer: | Peter Schwarz |
Add correlation id to service connect messages Signed-off-by: Andrea Gunderson <agunde@bitwise.io>
Commit: | 7392e7c | |
---|---|---|
Author: | Logan Seeley | |
Committer: | Logan Seeley |
Update private xo to use two-phase consensus Updates the private xo app to use the two-phase consensus engine. This requires a number of changes: - A new `PrivateXoMessage` protobuf is introduced for communication between private xo services; in addition to defining the protobuf itself, the dependencies are updated, a `build.rs` is added, and the Dockerfile is updated to build properly. - The `PrivateXoProposalManager` and `PrivateXoNetworkSender`, which implement the `ProposalManager` and `ConsensusNetworkSender` traits respectively, are created for the service to handle interactions with consensus. - The service performs Message handling and proposal creation using the consensus mechanisms rather than handling consensus itself. Signed-off-by: Logan Seeley <seeley@bitwise.io>
Commit: | 877da30 | |
---|---|---|
Author: | Logan Seeley | |
Committer: | Logan Seeley |
Replace n_phase with two_phase Replaces the existing code for n_phase consensus with a new two-phase, n-party consensus algorithm that is implemented using the new consensus API. Signed-off-by: Logan Seeley <seeley@bitwise.io>
Commit: | ca81dc2 | |
---|---|---|
Author: | Logan Seeley | |
Committer: | Logan Seeley |
Update private counter to use two-phase consensus Updates the private counter app to use the two-phase consensus engine. This requires a number of changes: - A new `PrivateCounterMessage` protobuf is introduced for communication between private counter services; in addition to defining the protobuf itself, the dependencies are updated, a `build.rs` is added, and the Dockerfile is updated to build properly. - The `PrivateCounterProposalManager` and `PrivateCounterNetworkSender`, which implement the `ProposalManager` and `ConsensusNetworkSender` traits respectively, are created for the service to handle interactions with consensus. - The service performs Message handling and increment creation using the consensus mechanisms rather than handling consensus itself. Signed-off-by: Logan Seeley <seeley@bitwise.io>
Commit: | cfb88eb | |
---|---|---|
Author: | Logan Seeley | |
Committer: | Logan Seeley |
Implement consensus traits Define the consensus traits for the ConsensusEngine, ProposalManager, and ConsensusNetworkSender. Also defines the protobufs, errors, and other structures used by these traits. Signed-off-by: Logan Seeley <seeley@bitwise.io>
Commit: | cb5194d | |
---|---|---|
Author: | Peter Schwarz |
Add AdminDirectMessage to circuit messages Add the message and message type for AdminDirectMessage. These messages are identical in structure to a CircuitDirectMessage, but may be handled differently, depending on where they are sent. The message type is set at 100 to create a spacing between message groups. Signed-off-by: Peter Schwarz <pschwarz@bitwise.io>
Commit: | 5f7891d | |
---|---|---|
Author: | Andrea Gunderson | |
Committer: | Andrea Gunderson |
Update CircuitErrorHandler to deal with ServiceId This includes updating the CircuitError proto to be able to generate the ServiceId by adding the circuit name and making it clear the sender is a service id. Signed-off-by: Andrea Gunderson <agunde@bitwise.io>
Commit: | 6d46948 | |
---|---|---|
Author: | Peter Schwarz | |
Committer: | Peter Schwarz |
Fix typo in UNSET_STATUS Signed-off-by: Peter Schwarz <pschwarz@bitwise.io>
Commit: | d1ad052 | |
---|---|---|
Author: | Peter Schwarz | |
Committer: | Peter Schwarz |
Add NPhase Message wrapper Add a message wrapper for N-Phase transaction messages. This message type does not contain the payload as bytes, as the proposed use does not rely on a dispatcher. Signed-off-by: Peter Schwarz <pschwarz@bitwise.io>
Commit: | c6d55de | |
---|---|---|
Author: | Peter Schwarz |
Replace endpoint with HandshakeMode Remove the endpoint from the ConnectRequest, as it is not necessary. Add a HandshakeMode, which indicates whether or not the node with which the peer is connecting should send its own ConnectRequest. Signed-off-by: Peter Schwarz <pschwarz@bitwise.io>
Commit: | 3eaba1f | |
---|---|---|
Author: | Peter Schwarz | |
Committer: | GitHub |
Merge pull request #10 from peterschwarz/bully_algorithm Add proto messages for n-phase commits
Commit: | 6359299 | |
---|---|---|
Author: | Peter Schwarz | |
Committer: | GitHub |
Merge pull request #8 from peterschwarz/network_trust_auth Network trust authorization
Commit: | 94c51d8 | |
---|---|---|
Author: | Peter Schwarz |
Add proto messages for n-phase commits Add the proto messages for performing an n-phase commit with a generic transaction. The transaction payload is opaque to the request, and verification is expected to be performed against a hash of the results of the transaction's execution. These messages make the assumption that the requesting node has produced a correct answer and is looking for agreement from other members of the circuit. As there is no followup message, currently, if the requestee agrees, the expectation is that it has also applied the transaction. Signed-off-by: Peter Schwarz <pschwarz@bitwise.io>
Commit: | e8c4029 | |
---|---|---|
Author: | Peter Schwarz | |
Committer: | Peter Schwarz |
Add protobuf messages for Authorization Add the protobuf messages for the authorization conversation. These include basic messages for trust and challenge methods of authorization. Signed-off-by: Peter Schwarz <pschwarz@bitwise.io>
Commit: | 890d3a7 | |
---|---|---|
Author: | Andrea Gunderson | |
Committer: | Andrea Gunderson |
Rename NetworkError and CircuitError enum to Error This changes the generate enums from being called NetworkError_NetworkError and CircuitError_CircuitError to NetworkError_Error and CircuitError_Error Signed-off-by: Andrea Gunderson <agunde@bitwise.io>
Commit: | d0786c6 | |
---|---|---|
Author: | Andrea Gunderson | |
Committer: | Andrea Gunderson |
Update CircuitError Adds errors for if the sender of the direct message is not in the circuits roster or not connect to the circuit. Also adds the orginal sender to the error message so it can be properly routed. Signed-off-by: Andrea Gunderson <agunde@bitwise.io>
Commit: | 451cf05 | |
---|---|---|
Author: | Andrea Gunderson | |
Committer: | Andrea Gunderson |
Add CircuitErrorHandler to handlers When a CircuitError message is not sent directly to a service from the direct message handler, the node that receives the message needs to try its best to send the error message back to the correct service/node. If the node is not able to figure out where to send it, the message is dropped. Signed-off-by: Andrea Gunderson <agunde@bitwise.io>
Commit: | d10b5e4 | |
---|---|---|
Author: | Andrea Gunderson | |
Committer: | Andrea Gunderson |
Add node_endpoint to ServiceConnectForward message Signed-off-by: Andrea Gunderson <agunde@bitwise.io>
Commit: | c2d988a | |
---|---|---|
Author: | Andrea Gunderson | |
Committer: | Andrea Gunderson |
Add circuit.proto file Includes CircuitMessage and CircuitMessageType. Also includes messages for sending a direct message and connecting/disconnecting a serivce to a circuit. Signed-off-by: Andrea Gunderson <agunde@bitwise.io>
Commit: | 2212835 | |
---|---|---|
Author: | Andrea Gunderson | |
Committer: | Andrea Gunderson |
Remove unused Network messages Network request-response were deemed not necessary. Instead the correlation id will be moved into the circuit messages and NetworkErrorMessage will become a circuit messages. Also NetworkMessageType::UNSET_MESSAGE_TYPE is renamed UNSET_NETWORK_MESSAGE_TYPE so it does not causes collision. Signed-off-by: Andrea Gunderson <agunde@bitwise.io>
Commit: | fdcb2fa | |
---|---|---|
Author: | Andrea Gunderson | |
Committer: | Andrea Gunderson |
Remove old protobuf messages and update dispatcher tests This commit removes the old protocol messages and updates the disptacher test to use network echo instead. This was the last place they were used. Signed-off-by: Andrea Gunderson <agunde@bitwise.io>
Commit: | 99b9c26 | |
---|---|---|
Author: | Andrea Gunderson | |
Committer: | Andrea Gunderson |
Add NetworkEcho protobuf message This message can be used to debug connections. Signed-off-by: Andrea Gunderson <agunde@bitwise.io>
Commit: | 1827de2 | |
---|---|---|
Author: | Andrea Gunderson | |
Committer: | Andrea Gunderson |
Add NetworkMessage proto file Includes NetworkError, NetworkRequest, NetworkResponse. NetworkMessage and NetworkMessageType. NetworkMessage acts as a message envelope holding a NetworkMessageType and a payload. The payload will either consist of bytes of a network message or the bytes of another message envelope, for example CircuitMessage or Authorization message. Signed-off-by: Andrea Gunderson <agunde@bitwise.io>
Commit: | 8646bb3 | |
---|---|---|
Author: | Andrea Gunderson | |
Committer: | Andrea Gunderson |
Clarify that the url in a Service is the network url A Splinter nodes listen on two endpoints, one for network communciation and one for services to connect too. When defining a Service in CircuitCreateRequest, the node url should be the url for the network communication of the node, not the endpoint that the service is connecting too. Signed-off-by: Andrea Gunderson <agunde@bitwise.io>
Commit: | d1a1dce | |
---|---|---|
Author: | Andrea Gunderson | |
Committer: | Andrea Gunderson |
Change indention of proto file to 4 spaces instead of 2 Signed-off-by: Andrea Gunderson <agunde@bitwise.io>
Commit: | 8d74629 | |
---|---|---|
Author: | Andrea Gunderson | |
Committer: | Andrea Gunderson |
Move Errors into the Response Message This allows the Error to be correlated with the request that was sent, for example, which circuit creation failed. This commit also includes some small comment clean up and reorganization. Signed-off-by: Andrea Gunderson <agunde@bitwise.io>
Commit: | d662f86 | |
---|---|---|
Author: | Andrea Gunderson | |
Committer: | Andi Gunderson |
Reorganize the spinter protobuf file Update the file so that the Request/Response messages are grouped. Also update the Error number to 100, so there is more room for new circuit messages. Signed-off-by: Andrea Gunderson <agunde@bitwise.io>
Commit: | 954739a | |
---|---|---|
Author: | Andrea Gunderson | |
Committer: | Andi Gunderson |
Renames messages so the are grouped by Noun_Verb Before they were grouped by Verb_Noun. Signed-off-by: Andrea Gunderson <agunde@bitwise.io>
Commit: | da217e8 | |
---|---|---|
Author: | Andrea Gunderson | |
Committer: | Andi Gunderson |
Add proto for handling a 2 party circuits This includes messages to register services, tell the network about registered services and send peer to peer messages. Signed-off-by: Andrea Gunderson <agunde@bitwise.io>
Commit: | aecd152 | |
---|---|---|
Author: | Shawn T. Amundson | |
Committer: | Shawn T. Amundson |
Rename channel to circuit for correctness Splinter does not use channels as we originally thought it might; instead, it will use circuits. This updates the terminology. Signed-off-by: Shawn T. Amundson <amundson@bitwise.io>
Commit: | 3b3bace | |
---|---|---|
Author: | Ryan Banks | |
Committer: | Ryan Banks |
Add protocol.proto Signed-off-by: Ryan Banks <rbanks@bitwise.io>