# Connect to RPC

### Connect to a node <a href="#connect-to-a-node" id="connect-to-a-node"></a>

### Use `geth attach`[​](https://docs.goquorum.consensys.io/develop/connecting-to-a-node#use-geth-attach) <a href="#use-geth-attach" id="use-geth-attach"></a>

The Geth JavaScript console exposes the Web3 JavaScript API for development use, and can be started using the `console` or `attach` Geth subcommands. The `console` subcommand starts the Geth node and opens the console, while the `attach` subcommand attaches an already-running Geth instance to the console.

Run the `attach` subcommand and connect to the IPC socket, or, if enabled, to the RPC or WebSocket API endpoints:

* IPC socket
* RPC API endpoint
* WebSocket API endpoint
* Geth console result

Copy

```
geth attach /path/to/geth.ipc
```

Once connected you can execute commands as normal. For example, check existing validators using the following command:

* Geth console request
* JSON result

Copy

```
istanbul.getValidators();
```

Exit the console using the following command:

Copy

```
exit;
```

### Use the RPC interface[​](https://docs.goquorum.consensys.io/develop/connecting-to-a-node#use-the-rpc-interface) <a href="#use-the-rpc-interface" id="use-the-rpc-interface"></a>

You can connect to a running node by making HTTP REST requests on the RPC endpoint, which is exposed on port 8545 by default.

To enable the RPC interface, start the Metacces node with the following parameters:

Copy

```
--http                           # Enable the HTTP-RPC server endpoint
--http.addr localhost            # HTTP-RPC server listening interface (default: "localhost")
--http.port 8545                 # HTTP-RPC server listening port (default: 8545)
--http.corsdomain "localhost"    # Comma-separated list of domains from which to accept cross origin requests (browser enforced)
--http.vhosts "localhost"        # Comma-separated list of virtual hostnames from which to accept requests (server enforced). Accepts '*' wildcard.
--http.api admin,db,...          # APIs offered over the HTTP-RPC interface
```

Metacces supports the standard web3 JSON-RPC APIs.

For example, run the following command to get the list of validators at a given block:

* curl HTTP request
* JSON result

Copy

```
curl -X POST http://localhost:8545 --data '{"jsonrpc":"2.0","method":"istanbul_getValidators","params":[10],"id":1}' --header "Content-Type: application/json"
```

You can any tool to make requests, such as curl, Postman, or Web3.

### Use the WebSocket interface[​](https://docs.goquorum.consensys.io/develop/connecting-to-a-node#use-the-websocket-interface) <a href="#use-the-websocket-interface" id="use-the-websocket-interface"></a>

You can connect to a running node using a WebSocket endpoint, which is exposed on port 8546 by default.

To enable the WebSocket interface, start the Metacces node with the following parameters:

Copy

```
--ws                           # Enable the WS-RPC server endpoint
--ws.addr localhost            # WS-RPC server listening interface (default: "localhost")
--ws.port 8545                 # WS-RPC server listening port (default: 8545)
--ws.origins "localhost"       # Comma separated list of virtual hostnames from which to accept requests (server enforced). Accepts '*' wildcard
--ws.api admin,db,...          # APIs offered over the WS interface
--ws.rpcprefix "/"             # Path prefix on which WS-RPC is served. Use '/' to serve on all paths.
```

For example, to connect to an endpoint and get logs, run the following JavaScript:

Copy

```
const Web3 = require("web3");
var web3 = new Web3("wss://localhost:8546");
var subscription = web3.eth.subscribe(
  "logs",
  {
    address: "0x123456..",
    topics: ["0x12345..."],
  },
  function (error, result) {
    if (!error) console.log(result);
  },
);
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.metacces.com/whitepaper/metacces-general/blockchain-layer-1/developers/connect-to-rpc.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
