We r planning to create other API. Old API will be called Legacy API and become obsolete. New API will be split to 2 parts - Low-level API and High-level API. If u r planning to write a client software u could start a thread to discuss what LL and HL API calls u need.
Before starting with APIs, here's what I understand to be the abstractions in NXT. I've tried to normalize the attributes as much as possible.
AbstractionsBlock- has many transactions
- has a generator account
- has a timestamp
- can be an orphan
Transaction- has a type/subtype:
Payment: subtypes: Ordinary Payment
Messaging: subtypes: Arbitrary message, Alias assignment
Colored coins: subtypes: Asset issuance, Asset transfer, Ask order placement, Bid order placement, Ask order cancel, Bid order cancel
- has a sender account
- has a recipient account
- has attachments
- has a timestamp
- has fee
- has amount
- has confirmations
Account- has a secret phrase
- "created" in blockchain by receiving a transaction
- send transactions
- receive transactions
- generates blocks and receives fees (transparent forging)
- generates hallmarks/tokens
- balance defined by transactions and received block generation fees
Peer- has an address
- has state: non-connected, connected, disconnected
- optionally hallmarked by an account
Alias -has a name and URI
-assigned by a type of transaction using attachment
-uri updated through a type of transaction using attachment
Asset-assigned by a type of transaction using attachment?
[not released]
Arbitrary Message-assigned by a type of transaction using attachment?
[not released]
Exchange-has AskOrder
-has BidOrder
[not released]
So before brainstorming/designing an API, anything above incorrect?
Any more details on Asset, AM, Exchange, and TF attributes (deadline, etc)?