Skip to content
This repository was archived by the owner on Jun 20, 2024. It is now read-only.

Commit 070490e

Browse files
author
kant
committed
rename user to bidder
1 parent d71e8be commit 070490e

File tree

45 files changed

+195
-195
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

45 files changed

+195
-195
lines changed

README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
# mev-commit
2-
mev-commit is P2P software that creates a network of execution providers and users. Users can broadcast bids to providers and receive commitments from them. A high throughput POA EVM chain settles the bids at the end of a block slot.
2+
mev-commit is P2P software that creates a network of execution providers and bidders. Bidders can broadcast bids to providers and receive commitments from them. A high throughput POA EVM chain settles the bids at the end of a block slot.
33

44
![](node-architecture.png)
55

@@ -11,7 +11,7 @@ $ ./build.sh start localhost:8545 <DataDog-KEY>
1111
When prompted, read the values of where the Smart-contracts where deployed on the settlement layer and update the configurations in the integrationtest/config/...yml files.
1212

1313
## Quickstart
14-
- An ECDSA private key is required to create an ethereum address for the node as well as to use for the P2P network. Users can add an existing key or create a new key using the `create-key` command.
14+
- An ECDSA private key is required to create an ethereum address for the node as well as to use for the P2P network. Bidders can add an existing key or create a new key using the `create-key` command.
1515
```
1616
NAME:
1717
mev-commit create-key - Create a new ECDSA private key and save it to a file
@@ -114,10 +114,10 @@ To simplify the deployment process, you may utilize Docker to create an isolated
114114
docker-compose down
115115
```
116116

117-
## APIs for Users & Execution Providers
118-
[Link to Documentation on User and Execution provider API](./pkg/rpc/README.md)
117+
## APIs for Bidders & Execution Providers
118+
[Link to Documentation on Bidder and Execution provider API](./pkg/rpc/README.md)
119119
- This includes:
120-
- the payload for the User API
120+
- the payload for the Bidder API
121121
- The required setup for execution providers to process bids into commitments in their personal infra.
122122

123123

cmd/main.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -106,7 +106,7 @@ type config struct {
106106
ExposeProviderAPI bool `yaml:"expose_provider_api" json:"expose_provider_api"`
107107
PreconfContract string `yaml:"preconf_contract" json:"preconf_contract"`
108108
ProviderRegistryContract string `yaml:"provider_registry_contract" json:"provider_registry_contract"`
109-
UserRegistryContract string `yaml:"user_registry_contract" json:"user_registry_contract"`
109+
BidderRegistryContract string `yaml:"bidder_registry_contract" json:"bidder_registry_contract"`
110110
RPCEndpoint string `yaml:"rpc_endpoint" json:"rpc_endpoint"`
111111
}
112112

@@ -196,7 +196,7 @@ func start(c *cli.Context) error {
196196
ExposeProviderAPI: cfg.ExposeProviderAPI,
197197
PreconfContract: cfg.PreconfContract,
198198
ProviderRegistryContract: cfg.ProviderRegistryContract,
199-
UserRegistryContract: cfg.UserRegistryContract,
199+
BidderRegistryContract: cfg.BidderRegistryContract,
200200
RPCEndpoint: cfg.RPCEndpoint,
201201
})
202202
if err != nil {

config/bootnode.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,6 @@ rpc_port: 13524
66
secret: hello
77
log_fmt: text
88
log_level: debug
9-
user_registry_contract: 0x17855D7AB9B84cF2eddb8a7Db2df825c54a492aD
9+
bidder_registry_contract: 0x17855D7AB9B84cF2eddb8a7Db2df825c54a492aD
1010
provider_registry_contract: 0x11a315df6B4aCDbB6816B287a10F92F0C3a1BBc1
1111
rpc_endpoint: http://34.215.163.180:8545

config/provider.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ log_level: debug
99
expose_provider_api: true
1010
preconf_contract: 0xD11e7E017e22232912E2F8150751436c4E6ec606
1111
provider_registry_contract: 0x11a315df6B4aCDbB6816B287a10F92F0C3a1BBc1
12-
user_registry_contract: 0x17855D7AB9B84cF2eddb8a7Db2df825c54a492aD
12+
bidder_registry_contract: 0x17855D7AB9B84cF2eddb8a7Db2df825c54a492aD
1313
rpc_endpoint: http://34.215.163.180:8545
1414
bootnodes:
1515
- /ip4/<localhost>/tcp/13522/p2p/<p2p_ID>

config/user.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ rpc_port: 13524
66
secret: hello
77
log_fmt: text
88
log_level: debug
9-
user_registry_contract: 0x17855D7AB9B84cF2eddb8a7Db2df825c54a492aD
9+
bidder_registry_contract: 0x17855D7AB9B84cF2eddb8a7Db2df825c54a492aD
1010
provider_registry_contract: 0x11a315df6B4aCDbB6816B287a10F92F0C3a1BBc1
1111
rpc_endpoint: http://34.215.163.180:8545
1212
bootnodes:

docker-compose.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ services:
2626
networks:
2727
- primev_net
2828

29-
user:
29+
bidder:
3030
build:
3131
context: .
3232
dockerfile: Dockerfile
@@ -45,7 +45,7 @@ services:
4545
volumes:
4646
bootnode-keys:
4747
provider-keys:
48-
user-keys:
48+
bidder-keys:
4949

5050
networks:
5151
primev_net:

docs/README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,27 +4,27 @@
44
Introducing mev-commit, a peer-to-peer (P2P) networking software that serves as a conduit for real-time communication with execution providers. mev-commit enables MEV actors to join and utilize a P2P network for the exchange of execution bids and commitments, enriching the transaction execution experience by allowing for granular specification of execution needs and receiving real-time commitments.
55

66
## Actors
7-
The roles of actors within this p2p ecosystem are defined with respect to other actors. A list of possible actors is given below. A good way to interpret them is to observe a given actors' relative placement in the diagram shown below. For example, an MEV Searcher (Transaction Originator) is a user to a Sequencer, and however, that same sequencer can be a user to a block builder. Thus, it's best to think of the roles of actors from the perspective of the MEV Supply Chain. To the left of the diagram are users who source MEV; and to the right of the diagram, are asset holders that help users actualize their MEV. These asset holders are providers in the p2p ecosystem.
7+
The roles of actors within this p2p ecosystem are defined with respect to other actors. A list of possible actors is given below. A good way to interpret them is to observe a given actors' relative placement in the diagram shown below. For example, an MEV Searcher (Transaction Originator) is a bidder to a Sequencer, and however, that same sequencer can be a bidder to a block builder. Thus, it's best to think of the roles of actors from the perspective of the MEV Supply Chain. To the left of the diagram are bidders who source MEV; and to the right of the diagram, are asset holders that help bidders actualize their MEV. These asset holders are providers in the p2p ecosystem.
88

9-
Traditionally, information only moved to the right in this supply chain, from users to providers. With our P2P network, we're allowing information about how the MEV is actualized to flow from providers back to users, along with cryptographic commitments that strengthen the value of information exchange.
9+
Traditionally, information only moved to the right in this supply chain, from bidders to providers. With our P2P network, we're allowing information about how the MEV is actualized to flow from providers back to bidders, along with cryptographic commitments that strengthen the value of information exchange.
1010

1111
![](mev-supply-chain.png)
1212

1313
**Providers**
1414

1515
Providers of execution services (**Block builders, Rollup Sequencers)**
1616

17-
**Users**
17+
**Bidders**
1818

19-
Users of execution services (**MEV searchers, AA bundlers, L2s, and other blockspace consumers)**
19+
Bidders of execution services (**MEV searchers, AA bundlers, L2s, and other blockspace consumers)**
2020

2121
## Network Topology
2222

2323
The network topology we will be releasing is as follows:
2424

2525
<img src="topology.png" alt="Topology" width="500" height="500"/>
2626

27-
Users will connect to providers, each of these nodes will have access to a bootnode for network startup. Providers will also be able to run gateway nodes to allow users to send bids directly to an RPC endpoint under a provider URL.
27+
Bidders will connect to providers, each of these nodes will have access to a bootnode for network startup. Providers will also be able to run gateway nodes to allow bidders to send bids directly to an RPC endpoint under a provider URL.
2828

2929
## Bids and Privacy
3030

docs/api-clients.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,16 +1,16 @@
11
# API clients
22

3-
The mev-commit node provides two key APIs. The execution providers need to use the **Provider API** whereas the users need to use the **User API** based on their role in the network.
3+
The mev-commit node provides two key APIs. The execution providers need to use the **Provider API** whereas the bidders need to use the **Bidder API** based on their role in the network.
44

55
## Providers
66

7-
Execution providers will use the `provider` role of the mev-commit software to run their nodes. This will allow users to send bids to them to include in the blocks that they build. They will use the **Provider RPC API** to receive signed bids that are being propogated in the network. Once they get a bid, they need to communicate with the mev-commit node whether the bid has been **Accepted** or **Rejected**. If accepted, the mev-commit node will send a signed pre-confirmation to the users.
7+
Execution providers will use the `provider` role of the mev-commit software to run their nodes. This will allow bidders to send bids to them to include in the blocks that they build. They will use the **Provider RPC API** to receive signed bids that are being propogated in the network. Once they get a bid, they need to communicate with the mev-commit node whether the bid has been **Accepted** or **Rejected**. If accepted, the mev-commit node will send a signed pre-confirmation to the bidders.
88

99
The API is implemented using gRPC framework. This allows two types of operations:
1010

1111
### RPC API
1212

13-
Users can find the protobuf file in the [repository](https://github.com/primevprotocol/mev-commit/blob/main/rpc/providerapi/v1/providerapi.proto). This can be used to generate the client for the RPC in the language of your choice. The go client is already generated in the repository. For other languagues, please follow the instructions in the [grpc documentation](https://grpc.io/docs/languages/) to generate them.
13+
Bidders can find the protobuf file in the [repository](https://github.com/primevprotocol/mev-commit/blob/main/rpc/providerapi/v1/providerapi.proto). This can be used to generate the client for the RPC in the language of your choice. The go client is already generated in the repository. For other languagues, please follow the instructions in the [grpc documentation](https://grpc.io/docs/languages/) to generate them.
1414

1515
There are two main APIs
1616
```proto
@@ -49,15 +49,15 @@ The same API is also available on the HTTP port configured on the node. Please g
4949

5050
An [example client](https://github.com/primevprotocol/mev-commit/tree/main/examples/provideremulator) is implemented in the repository. This is mainly to demostrate how to write the client integrated in the provider's environment. The client blindly accepts each bid that it receives, however the provider needs to implement custom logic here to make the decision.
5151

52-
## Users
52+
## Bidders
5353

54-
Users will use the `user` role of the mev-commit software to run their nodes. With this role, the node provides the **User API** to submit bids to the network. The mev-commit node will sign the bid before it sends it to different providers that are accepting bids. On the response, users will get pre-confirmations from the providers if the bid is accepted. This is a streaming response and users are expected to keep the connection alive till all the preconfirmations are received by the node.
54+
Bidders will use the `bidder` role of the mev-commit software to run their nodes. With this role, the node provides the **Bidder API** to submit bids to the network. The mev-commit node will sign the bid before it sends it to different providers that are accepting bids. On the response, bidders will get pre-confirmations from the providers if the bid is accepted. This is a streaming response and bidders are expected to keep the connection alive till all the preconfirmations are received by the node.
5555

5656
The API is implemented using gRPC framework. This allows two types of operations:
5757

5858
### RPC API
5959

60-
Users can find the protobuf file in the [repository](https://github.com/primevprotocol/mev-commit/blob/main/rpc/userapi/v1/userapi.proto). This can be used to generate the client for the RPC in the language of your choice. The go client is already generated in the repository. For other languagues, please follow the instructions in the [grpc documentation](https://grpc.io/docs/languages/) to generate them.
60+
Bidders can find the protobuf file in the [repository](https://github.com/primevprotocol/mev-commit/blob/main/rpc/bidderapi/v1/bidderapi.proto). This can be used to generate the client for the RPC in the language of your choice. The go client is already generated in the repository. For other languagues, please follow the instructions in the [grpc documentation](https://grpc.io/docs/languages/) to generate them.
6161

6262
The API available is:
6363
```proto
@@ -85,8 +85,8 @@ message PreConfirmation {
8585

8686
### HTTP API
8787

88-
The same API is also available on the HTTP port configured on the node. Please go through the [API docs](https://mev-commit-docs.s3.amazonaws.com/user.html) to understand the usage.
88+
The same API is also available on the HTTP port configured on the node. Please go through the [API docs](https://mev-commit-docs.s3.amazonaws.com/bidder.html) to understand the usage.
8989

90-
An [example CLI application](https://github.com/primevprotocol/mev-commit/tree/main/examples/usercli) is implemented in the repository. This is mainly to demostrate how to integrate with the RPC API.
90+
An [example CLI application](https://github.com/primevprotocol/mev-commit/tree/main/examples/biddercli) is implemented in the repository. This is mainly to demostrate how to integrate with the RPC API.
9191

9292

docs/debugging.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Debugging
22

3-
The mev-commit node is still in active development. As a result there is some debugging instrumentation available on the node. In the normal use-cases, the users might not need this, but they can always use this to get more information on the inner-workings of the node. These tools can be accessed on the HTTP API endpoint.
3+
The mev-commit node is still in active development. As a result there is some debugging instrumentation available on the node. In the normal use-cases, the bidders might not need this, but they can always use this to get more information on the inner-workings of the node. These tools can be accessed on the HTTP API endpoint.
44

55
## Network topology
66

@@ -31,4 +31,4 @@ The node also emits a bunch of prometheus metrics. These can be potentially used
3131

3232
## Pprof endpoints
3333

34-
The pprof endpoints are also accessible on the node on the `/debug/pprof` endpoint. These are mainly used to observe how the node is performing for eg. the memory, CPU usage on the nodes. These are useful only for users who already know how to use them. Explaining them is beyond the scope of this documentation.
34+
The pprof endpoints are also accessible on the node on the `/debug/pprof` endpoint. These are mainly used to observe how the node is performing for eg. the memory, CPU usage on the nodes. These are useful only for bidders who already know how to use them. Explaining them is beyond the scope of this documentation.

docs/quickstart.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22

33
## Using the CLI
44

5-
mev-commit software is a CLI program that needs to be run by the users in their own environments. The CLI has two commands mainly. You can run the main command with `-h`/`--help` option to see the available commands.
5+
mev-commit software is a CLI program that needs to be run by the bidders in their own environments. The CLI has two commands mainly. You can run the main command with `-h`/`--help` option to see the available commands.
66

77
```
88
❯ mev-commit -h
@@ -25,7 +25,7 @@ GLOBAL OPTIONS:
2525
--version, -v print the version
2626
```
2727

28-
Users can use any existing ECDSA private key or create one using the `create-key` command. This key is used to derive the ethereum address of the node taking part in the network.
28+
Bidders can use any existing ECDSA private key or create one using the `create-key` command. This key is used to derive the ethereum address of the node taking part in the network.
2929

3030
```
3131
❯ mev-commit create-key -h
@@ -39,7 +39,7 @@ OPTIONS:
3939
--help, -h show help
4040
```
4141

42-
In order to run a node, users need to create a configuration file in the YAML format. Example config files can be found in the [config](https://github.com/primevprotocol/mev-commit/tree/main/config) folder. The important options are defined below:
42+
In order to run a node, bidders need to create a configuration file in the YAML format. Example config files can be found in the [config](https://github.com/primevprotocol/mev-commit/tree/main/config) folder. The important options are defined below:
4343

4444
```yaml
4545
# Path to private key file.
@@ -74,7 +74,7 @@ bootnodes:
7474
expose_provider_api: false
7575
```
7676
77-
Place this config file in some folder. It is advised to create a new `.mev-commit` folder in the home directory and place it there. Once this is done, users can start the node using the `start` command.
77+
Place this config file in some folder. It is advised to create a new `.mev-commit` folder in the home directory and place it there. Once this is done, bidders can start the node using the `start` command.
7878

7979
```
8080
❯ mev-commit start -h
@@ -91,4 +91,4 @@ OPTIONS:
9191
9292
## Docker
9393
94-
Optionally users can use the docker images to run the client in their docker environment. You need to make sure the node is able to communicate with provider/user nodes.
94+
Optionally bidders can use the docker images to run the client in their docker environment. You need to make sure the node is able to communicate with provider/bidder nodes.

0 commit comments

Comments
 (0)