bigknife / fssi Goto Github PK
View Code? Open in Web Editor NEWfinacial service infrastructure
License: Apache License 2.0
finacial service infrastructure
License: Apache License 2.0
warrior processes transactions
sendTransaction
def put(key: Array[Byte], value: Array[Byte])
Context
for the sql store implementation, we should check the sql used by executeQuery or executeUpdate, all sql should be deteministic.
add CreateTransaction runContract
into tool
add create run contract program
integrate program to tool
a query node also is a p2p node, but not handle consensus message.
add an arg, if it's set, output the transaction json rpc message to the file.
fssi_tool CreateTransaction transfer -o ~/tmp/transfer.json
after transaction evaluated to moment, we pool the moment, when the pool is full or timeout, we build these moments to a proposal, then run consensus to validate the proposal.
if the proposal totally agreed, every node should commit the proposal, all transaction will be settled down.
think about contract invoking by another contract. now a contract can be invoked only by user.
now, we only check the tx, then post to consensus engine. we must evaluate all the txs, and post the result hash with the txs to consensus engine.
provide a command to create a chain, e.g.
tool CreateChain --chain-id=testnet --working-dir=/data/testnet
user post a json rpc request to a edge node, and get a reponse from the edge node synchronously, which involves a transaction id, generated by the edge node.
user can query a edge node to get a transaction's status by its tranaction id.
queryTransaction
to edge node json rpc servicesQueryTransaction
to generate queryTransaction
jsonrpc request add CreateTransaction
command to tool
to create a transfer token
transaction
add Transfer token
method to edge json rpc
run consensus to create block
now, the layout of assets of an account is plain, every contract can act on every assets key. It's not too safe, and the previlege is too loose.
Try to redefine the assets layout to enhance the safety.
a json rpc server for nymph.
Note: MUST follow the JSON RPC 2.0 Spec
compile smart contract:
tool CompileContract --source-code /source/code/directory --output /jar/directory
add CompileContract
sub command for tool
merge compile contract implementation from @BeleiveSong
make ast for a warrior node
warrior server skeleton.
when transaction failed, local store will be rolled back, but the consensus engine is on the right postion, so when a new proposal is to process, the consensus should reject the new proposal (because the proposal's slotIndex has been reached agreement)
remove scalap
dependency, implement scp inside the whole project.
provide more features to support query node.
periodly push ledger to cloud drive, so other nodes can download ledger archives from cloud drive.
now, all contract invocations will be post to consensus engine, but it's not neccessary for readonly contract methods, so it's important to seperate them.
if the contract method is readonly, only invoke them, and render the results to client.
add publishContract to tool CreateTransaction
handle PublishContract
transaction to reach agreement
call register
json rpc method to create an account
register
jsonrpc service.warrior node should handle the trasaction message.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.