Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/ArkEcosystemArchive/rpc-server
RPC server to connect to blockchain ARK
https://github.com/ArkEcosystemArchive/rpc-server
ark blockchain cryptocurrency rpc-client
Last synced: about 2 months ago
JSON representation
RPC server to connect to blockchain ARK
- Host: GitHub
- URL: https://github.com/ArkEcosystemArchive/rpc-server
- Owner: ArkEcosystemArchive
- License: mit
- Archived: true
- Created: 2017-10-25T10:38:02.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2019-05-03T07:23:55.000Z (over 5 years ago)
- Last Synced: 2024-08-07T22:08:44.347Z (5 months ago)
- Topics: ark, blockchain, cryptocurrency, rpc-client
- Language: JavaScript
- Size: 228 KB
- Stars: 12
- Watchers: 3
- Forks: 16
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-ark - Ark-RPC - RPC server to connect to the ARK blockchain (Developer Tools / Mobile)
README
![ARK-RPC](https://cdn-images-1.medium.com/max/2000/1*QFNTgOOP_9NIaNwIrBnp_w.png)
### RPC server implementation to easily connect to ARK blockchain
# Security Warning
`. Addresses allow you to use wildcards, eg. `192.168.1.*` or `10.0.*.*`.
All calls should be made from the server where RPC is running at ( i.e., `localhost` or `127.0.0.1` ). The RPC server should never be publicly accessible. If you wish to access ark-rpc from a remote address, you can whitelist the address with `--allowIf you do want to allow access from all remotes, start ark-rpc with the `--allow-remote` commandline switch. This can be dangerous.
# How To Use It
- install Node.JS ( https://nodejs.org/en/download/package-manager/)
- install forever `npm install -g forever`
- install ark-rpc: `npm install arkecosystem/ark-rpc#master`
- start RPC server: `ark-rpc --port 8000` (default port is 8080)## Docker ##
If you would like to run from a docker environment, you will first need to build the container by running:
```
docker build -t ark-rpc .
```
You will need to run the container with the `--allow-remote` option to allow the host machine to access the container.
```
docker run -d -p 8080:8080 ark-rpc --allow-remote
```# API
Supported networks are `mainnet` and `devnet` all calls should start with the network you want to address, for instance, `/mainnet/account/AUDud8tvyVZa67p3QY7XPRUTjRGnWQQ9Xv` we call it `:network` in the API description.## Accounts
- Get account balance from `address`: `GET /:network/account/:address`
- Create account from `passphrase`: `POST /:network/account` params: `passphrase`
- Create (or get if already existing) account and encrypt using bip38: `POST /:network/account/bip38` params: `bip38` (password for encrypted WIF), `userid` (to identify a user)
- Get backup from `userid`: `GET /:network/account/bip38/:userid`If you want to create several accounts for one user, you need to use a different userid.
## Transactions
- Get last 50 transactions from `address`: `GET /:network/transactions/:address`
- Create a transaction: `POST /:network/transaction` params: `recipientId`, `amount` in satoshis, `passphrase`
- Create a transaction using `bip38` for `userid`: `POST /:network/transaction/bip38` params: `recipientId`, `amount` in satoshis, `bip38` (password to encode wif), `userid`
- Broadcast transaction: `POST /:network/broadcast` params: `id` of the transactionNote that if the transaction has been created via the RPC it has been stored internally, as such only the transaction `id` is needed to broadcast/rebroadcast it. Otherwise if created outside of this RPC server, pass the whole transaction body as the POST payload.
## Security
If you discover a security vulnerability within this project, please send an e-mail to [email protected]. All security vulnerabilities will be promptly addressed.
## License
The MIT License (MIT)