Product
Socket Now Supports uv.lock Files
Socket now supports uv.lock files to ensure consistent, secure dependency resolution for Python projects and enhance supply chain security.
A simple websocket wrapper enabling RPC communication with the steem client steemd
for node.js and browsers.
This library is available as an NPM module:
npm install steem-rpc
If you would like to use it in a browser, browser builds are available in /build. An example is provided in examples/index.html
The library needs to initialize a connection and retrieve some api references before it is ready to be used. By default steem-rpc will attempt to connect to a public API node provided by xeroc at wss://this.piston.rocks
.
A simple init and use case can be seen in examples/example.js and can be launched with npm run example
:
const options = {
// user: "username",
// pass: "password",
// url: "ws://localhost:9090",
// debug: false
};
var {Client} = require("steem-rpc");
var Api = Client.get({}, true);
Api.initPromise.then(response => {
console.log("Api ready:", response);
Api.database_api().exec("get_dynamic_global_properties", []).then(response => {
console.log("get_dynamic_global_properties", response);
})
});
If you'd like to use another server, simply pass the new websocket url in the options object:
const options = {
url: "ws://localhost:9090"
}
This library borrows heavily from James Calfee's websocket RPC implementation for the Bitshares GUI which can be found here: https://github.com/cryptonomex/graphene-ui/tree/master/dl/src/rpc_api
There's a handy "shortcut" api call that will get you a global state object:
get_state(string route)
You can call this with an empty string, or with a category like trending
.
Api.database_api().exec("get_state", ["trending"]).then(response => {
console.log("get_state", response);
})
There is no api call to fetch all possible calls, but one can look through the STEEM source code in order to find the available commands with their expected inputs:
FAQs
Websocket RPC library for the Steem blockchain
We found that steem-rpc demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Product
Socket now supports uv.lock files to ensure consistent, secure dependency resolution for Python projects and enhance supply chain security.
Research
Security News
Socket researchers have discovered multiple malicious npm packages targeting Solana private keys, abusing Gmail to exfiltrate the data and drain Solana wallets.
Security News
PEP 770 proposes adding SBOM support to Python packages to improve transparency and catch hidden non-Python dependencies that security tools often miss.