Timestamp VM in Rust
See tests/e2e
for full end-to-end tests.
```bash
./scripts/build.release.sh \ && VMPLUGINPATH=$(pwd)/target/release/timestampvm \ ./scripts/tests.e2e.sh
./scripts/build.release.sh \ && VMPLUGINPATH=$(pwd)/target/release/timestampvm \ ./scripts/tests.e2e.sh ~/go/src/github.com/ava-labs/avalanchego/build/avalanchego ```
To test timestampvm API manually:
```bash
curl -X POST --data '{ "jsonrpc": "2.0", "id" : 1, "method" : "timestampvm.ping", "params" : [] }' -H 'content-type:application/json;' 127.0.0.1:9650/ext/vm/tGas3T58KzdjcJ2iKSyiYsWiqYctRXaPTqBCA11BqEkNg8kPc/static
```
```bash
curl -X POST --data '{ "jsonrpc": "2.0", "id" : 1, "method" : "timestampvm.ping", "params" : [] }' -H 'content-type:application/json;' 127.0.0.1:9650/ext/bc/2wb1UXxAstB8ywwv4rU2rFCjLgXnhT44hbLPbwpQoGvFb2wRR7/rpc
```
```bash
curl -X POST --data '{ "jsonrpc": "2.0", "id" : 1, "method" : "timestampvm.lastAccepted", "params" : [] }' -H 'content-type:application/json;' 127.0.0.1:9650/ext/bc/2wb1UXxAstB8ywwv4rU2rFCjLgXnhT44hbLPbwpQoGvFb2wRR7/rpc
curl -X POST --data '{ "jsonrpc": "2.0", "id" : 1, "method" : "timestampvm.getBlock", "params" : [{"id":"SDfFUzkdzWZbJ6YMysPPNEF5dWLp9q35mEMaLa8Ha2w9aMKoC"}] }' -H 'content-type:application/json;' 127.0.0.1:9650/ext/bc/2wb1UXxAstB8ywwv4rU2rFCjLgXnhT44hbLPbwpQoGvFb2wRR7/rpc
```
```bash
echo 1 | base64 | tr -d \n
curl -X POST --data '{ "jsonrpc": "2.0", "id" : 1, "method" : "timestampvm.proposeBlock", "params" : [{"data":"MQo="}] }' -H 'content-type:application/json;' 127.0.0.1:9650/ext/bc/2wb1UXxAstB8ywwv4rU2rFCjLgXnhT44hbLPbwpQoGvFb2wRR7/rpc
```