@bobanetwork/aa-hc-sdk-server v1.0.1
Hybrid Compute Server SDK
This SDK provides server-side functionality for Hybrid Compute operations, including RPC server setup and utility functions for blockchain interactions.
Installation
npm install @bobanetwork/aa-hc-sdk-serverUsage
Setting up the RPC Server
import { HybridComputeSDK } from '@bobanetwork/aa-hc-sdk-server';
const sdk = new HybridComputeSDK();
sdk.createJsonRpcServerInstance()
.addServerAction('myAction', (params) => {
// Handle action
})
.listenAt(3000);Using Utility Functions
import {
generateResponse,
parseOffchainParameter,
parseRequest,
decodeAbi
} from 'hybrid-compute-server-sdk';
// Parse offchain parameters
const parsedParams = parseOffchainParameter(offchainParams);
// Generate a response
const response = generateResponse(request, errorCode, responsePayload);
// Decode ABI-encoded data
const decodedData = decodeAbi(types, data);API Documentation
HybridComputeSDK
Constructor
constructor()Methods
createJsonRpcServerInstance(): HybridComputeSDKInitializes the JSON-RPC server.addServerAction(selectorName: string, fun: (params: OffchainParameter) => any): HybridComputeSDKAdds an action to the RPC server.listenAt(port: number): HybridComputeSDKStarts the server on the specified port.isServerHealthy(): booleanChecks if the server is properly initialized.getApp(): Express | undefinedReturns the Express app instance.getServer(): JSONRPCServerReturns the JSON-RPC server instance.
Utility Functions
selector(name: string): HexStringGenerates a function selector.parseOffchainParameter(params: OffchainParameter): OffchainParameterParsedParses offchain parameters.parseRequest(params: OffchainParameterParsed): RequestParses a request from parsed offchain parameters.decodeAbi(types: string[], data: string): { [key: string]: unknown; __length__: number }Decodes ABI-encoded data.generateResponse(req: object, errorCode: number, respPayload: string): ServerActionResponseGenerates a response object with a signed payload.
Types
OffchainParameterOffchainParameterParsedRequestServerActionResponse
For detailed type definitions, please refer to the source code.
Environment Variables
The SDK uses the following environment variables:
HC_HELPER_ADDR: Address of the Hybrid Compute helper contract.OC_HYBRID_ACCOUNT: Address of the Hybrid Compute account.ENTRY_POINTS: Entry points for the Hybrid Compute system.CHAIN_ID: ID of the blockchain network.OC_PRIVKEY: Private key for signing responses.
Ensure these are set in your environment or .env file.
License
ISC
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.