@threefold/grid_rmb_server v2.7.1
Twin server
Twin server is an RMB server that exposes the functionality of the grid client over RMB.
Prerequisites
- Redis server
- rmb-peer should be installed and running
Installation
External Package
yarn add @threefold/grid_rmb_serverLocal Usage
- Clone the repository
git clone https://github.com/threefoldtech/tfgrid-sdk-ts.git- Install it
yarn installConfiguration
Add network and account's mnemonics in config.json in server directory before running the server.
{
"network": "<network environment dev, qa or test>",
"mnemonic": "<your account mnemonics>",
"storeSecret": "secret", // secret used for encrypting/decrypting the values in tfkvStore
"keypairType": "sr25519" // keypair type for the account created on substrate
}Life cycle
- User from the outside sends an execution request(command with payload) to the RMB server.
- RMB server puts this request in Redis.
- Twin server checks if there is an execution request that its command is registered on the Twin server.
- If this command is registered, the Twin server will pick up this request.
- Twin server starts to execute it using the Grid3 client.
- After finishing the execution, the Twin server puts the result back to Redis.
- RMB keeps checking for the result is ready, and sends it back to the user once it's ready.
Running
Locally
yarn startIn External Package
yarn grid_rmb_serverYou can also use another configuration file by using --config or -c option.
yarn grid_rmb_server -c pathToConfigFile.json
# or
yarn grid_rmb_server --config pathToConfigFile.jsonUsage
This is an example of getting user's contracts.
Put the following content in a file test_contracts.ts
import { MessageBusClient } from "@threefold/rmb_peer_client";
async function main() {
const myTwinId = 26;
const cmd = "twinserver.contracts.listContractsByTwinId";
const payload = JSON.stringify({ twinId: 26 });
const rmb = new MessageBusClient();
const requestId = await rmb.send(cmd, payload, myTwinId, 1);
const result = await rmb.read(requestId, 1);
console.log(result);
rmb.disconnect();
}
main();And then run this file by yarn run ts-node test_contracts.ts
see more examples in modules
9 months ago
9 months ago
9 months ago
9 months ago
10 months ago
11 months ago
12 months ago
12 months ago
12 months ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
3 years ago
3 years ago
3 years ago
2 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago
3 years ago