Releases: my-cloud/ruthenium
Releases · my-cloud/ruthenium
v4.1.0
v4.0.0
4.0.0 (2023-10-27)
Breaking Changes
BREAKING CHANGE: Node and UI server APIs have changed.
1. Node
* Modified:
- UTXO and Output data structures "has_income" field have been renamed to "is_yielding"
- Block data structure fields have been reordered:
- Block data structure was:
{
"timestamp": int64
"previous_hash": [32]byte
"transactions": []Transaction
"added_registered_addresses": []string
"removed_registered_addresses": []string
}
- Block data structure is now:
{
"previous_hash": [32]byte
"added_registered_addresses": []string
"removed_registered_addresses": []string
"timestamp": int64
"transactions": []Transaction
}
2. Node and UI server
* Modified:
- Output data structure "has_income" field has been renamed to "is_yielding"
BREAKING CHANGE: Node and UI server APIs have changed.
1. Node
* Added:
- "Get first block timestamp" endpoint for route: /first-block-timestamp
* Removed:
- "Get block" endpoint
* Modified:
- All request and response data structures have changed, see node/README.md
- "Get blocks" endpoint route is now: /blocks
- "Share targets" endpoint route is now: /targets
- "Add transaction" endpoint route is now: /transaction
- "Get transactions" endpoint route is now: /transactions
- "Get UTXOs" endpoint route is now: /utxos
2. UI server
* Modified:
- All request and response data structures have changed, see ui/README.md
BREAKING CHANGE: Get blocks endpoint has changed and Get last blocks has been removed.
- Get blocks:
request value was "GET BLOCKS"
request value is now:
BlocksRequest {
StartingBlockHeight uint64
}
- Get last blocks has been removed
BREAKING CHANGE: The income calculation has changed.
BREAKING CHANGE: Node and UI APIs have changed.
1. Both Node and UI
* Added:
- The data structure for input:
Input {
OutputIndex uint16
TransactionId string
PublicKey string
Signature string
}
- The data structure for output:
Output {
Address string
HasReward bool
HasIncome bool
Value uint64
}
* Modified:
- The transaction data structure for response was:
TransactionResponse {
RecipientAddress string
SenderAddress string
SenderPublicKey string
Signature string
Timestamp int64
Value uint64
Fee uint64
}
- The transaction data structure for response is:
TransactionResponse {
Id string
Inputs []*InputResponse
Outputs []*OutputResponse
Timestamp int64
}
2. Node
* Added:
- Endpoint: Get block
- Endpoint: Get UTXOs
* Removed:
- Endpoint: Get amount
* Modified:
- The data structure for target request was:
TargetRequest {
Ip string
Port uint16
}
- The data structure for target request is:
TargetRequest {
Ip string
}
- The data structure for transaction request was:
TransactionRequest {
Fee uint64
RecipientAddress string
SenderAddress string
SenderPublicKey string
Signature string
Timestamp int64
TransactionBroadcasterTarget string
Value uint64
}
- The data structure for transaction request is:
TransactionRequest {
Inputs []InputRequest
Outputs []OutputRequest
Timestamp int64
TransactionBroadcasterTarget string
}
3. UI
* Added:
- Endpoint: GET transaction/info
* Modified:
- The data structure for transaction request was:
TransactionRequest {
Fee uint64
RecipientAddress string
SenderAddress string
SenderPublicKey string
Signature string
Timestamp int64
Value uint64
}
- The data structure for transaction request is:
TransactionRequest {
Inputs []InputRequest
Outputs []OutputRequest
Timestamp int64
}
Feature
Bug Fixes
- node: input public key is not verified against output address (#245) (5537c18)
- node: blocks requests are not parallelized (#234) (c2b42a8)
Chores
doc
v3.0.1
v3.0.0
3.0.0 (2023-02-25)
Breaking Changes
BREAKING CHANGE: The endpoint for getting the last blocks has changed.
* the request value to get last blocks was:
LastBlocksRequest {
StartingBlockNonce int
}
* the request value to get last blocks is now:
LastBlocksRequest {
StartingBlockHeight uint64
}
BREAKING CHANGE: remove start and stop validation node and UI API endpoints.
BREAKING CHANGE: remove POST /wallet, add GET wallet/address, change POST /transaction request value.
* the request value to POST a transaction was:
TransactionRequest {
SenderPrivateKey string
SenderAddress string
RecipientAddress string
Value string
}
* the request value to add a transaction is now:
TransactionRequest {
Fee uint64
RecipientAddress string
SenderAddress string
SenderPublicKey string
Signature string
Timestamp int64
Value uint64
}
BREAKING CHANGE: replace data transfer encoding from Gob to bytes
BREAKING CHANGE: The endpoint for adding a transaction has changed.
* the request value to add a transaction was:
TransactionRequest {
RecipientAddress string
SenderAddress string
SenderPublicKey string
Signature string
Timestamp int64
Value uint64
Fee uint64
}
* the request value to add a transaction is now:
TransactionRequest {
Fee uint64
RecipientAddress string
SenderAddress string
SenderPublicKey string
Signature string
Timestamp int64
TransactionBroadcasterTarget string
Value uint64
}
Documentation
- readme: update image (6b94355)
- readme: add image (fa5f3cc)
- readme: update example (d16c9c2)
- readme: update prerequisites (2a3ce13)
Chores
- node: improve logs (030115d)