rooch-network / rooch

VApp Container with Move Language
https://rooch.network
Apache License 2.0
128 stars 54 forks source link

[service] Run MoveOS as a server #11

Closed jolestar closed 1 year ago

jolestar commented 1 year ago

Run MoveOS as a server.

  1. Run MoveOS in a thread( or Actor?)
  2. Communicate with MoveOS through messages
  3. Provide a command to start the server, mos server ?
pause125 commented 1 year ago

The sub-commands of mos are related to Move, such as build, new, prove, and so on. Therefore, mos server is inappropriate. We can change the current sub-commands such as mos new, mos build to mos move new, mos move build, etc., or change mos server to rooch server. The choice is depending on the specific positioning of mos.

lshoo commented 1 year ago

mos client is only for MoveOS,and mos is party of Rooch,so I think mos server is appropriate

lshoo commented 1 year ago

MoveOS server should be a thread,when MoveOS handles message,it genrate an actor or channel is ok

jolestar commented 1 year ago

mos is an abbreviation for MoveOS.

mos server provide a local move execution runtime for the developer.

Developers' usage steps can be imagined as follows:

  1. Create a new Move project: Use the mos new command to create a new Move project with the necessary files and directories.

  2. Write Move code: Write the Move source code for your dapp using your preferred text editor or Move development environment.

  3. Build and test the Move bytecode: Use the mos build and mos test commands to compile the Move source code into bytecode and run tests to ensure that your code functions as expected.

  4. Start a server process: Use the mos server command to start the server process.

  5. Deploy the Move bytecode: Use the mos deploy command to deploy the Move bytecode to the MoveOS and make your dapp available for use.

  6. Execute a Move function: Use the mos run command to execute a Move function in the server.

lshoo commented 1 year ago

mos server should start a server process in local. mos deploy can deploy the Move bytecode in local mos server if don't specific server, also can deploy to specified server address(e.g. Rooch Server). mos run is similar tomos deploy, it needs to support default local and specified server addresses

pause125 commented 1 year ago

I'd like to work on this.

jolestar commented 1 year ago

I'd like to work on this.

As discussed at the last community developer meeting, We decided to make MoveOS to a pure library, and the command-line tool should be rooch.

Like:

rooch move new
rooch move build
rooch move test
rooch server
rooch move deploy
rooch move run
pause125 commented 1 year ago

I'd like to work on this.

As discussed at the last community developer meeting, We decided to make MoveOS to a pure library, and the command-line tool should be rooch.

Like:

rooch move new
rooch move build
rooch move test
rooch server
rooch move deploy
rooch move run

Ok, I'll wait for #34 .