Skip to content

Commit

Permalink
feat: build single node binary
Browse files Browse the repository at this point in the history
  • Loading branch information
torives committed Sep 18, 2023
1 parent 5e077a9 commit 866aa13
Show file tree
Hide file tree
Showing 9 changed files with 152 additions and 1 deletion.
51 changes: 51 additions & 0 deletions cmd/full.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
// (c) Cartesi and individual authors (see AUTHORS)
// SPDX-License-Identifier: Apache-2.0 (see LICENSE)

package cmd

import (
"io"
"log"
"os"
"os/exec"
"path/filepath"

"github.com/spf13/cobra"
)

const CARTESI_BIN_PATH = "offchain/target/debug/"

var full = &cobra.Command{
Use: "full",
Short: "Starts the node in full mode with reader and validator capabilities",
Run: runFullNode,
}

func runFullNode(cmd *cobra.Command, args []string) {
proc := newProcess("cartesi-rollups-graphql-server")

stdoutPipe, err := proc.StdoutPipe()
if err != nil {
log.Fatal("Error creating stdout pipe:", err)
}

if err := proc.Start(); err != nil {
log.Fatal("Error starting sub-process:", err)
}

// Create a goroutine to read and display the sub-process's stdout.
go func() {
io.Copy(os.Stdout, stdoutPipe)
}()

if err := proc.Wait(); err != nil {
log.Fatal("Error waiting for sub-process:", err)
}

log.Println("Sub-process finished")
}

func newProcess(name string) *exec.Cmd {
path := filepath.Join(CARTESI_BIN_PATH, name)
return exec.Command(path)
}
14 changes: 14 additions & 0 deletions cmd/host.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
// (c) Cartesi and individual authors (see AUTHORS)
// SPDX-License-Identifier: Apache-2.0 (see LICENSE)

package cmd

import "github.com/spf13/cobra"

var host = &cobra.Command{
Use: "host",
Short: "Starts the node in host mode",
Run: func(cmd *cobra.Command, args []string) {
println("TODO")
},
}
14 changes: 14 additions & 0 deletions cmd/reader.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
// (c) Cartesi and individual authors (see AUTHORS)
// SPDX-License-Identifier: Apache-2.0 (see LICENSE)

package cmd

import "github.com/spf13/cobra"

var reader = &cobra.Command{
Use: "reader",
Short: "Starts the node in reader mode",
Run: func(cmd *cobra.Command, args []string) {
println("TODO")
},
}
18 changes: 18 additions & 0 deletions cmd/root.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
// (c) Cartesi and individual authors (see AUTHORS)
// SPDX-License-Identifier: Apache-2.0 (see LICENSE)

package cmd

import "github.com/spf13/cobra"

var Root = &cobra.Command{
Use: "cartesi-node-supervisor [reader|validator|full|host]",
Run: func(cmd *cobra.Command, args []string) { cmd.Usage() },
}

func init() {
Root.AddCommand(reader)
Root.AddCommand(validator)
Root.AddCommand(full)
Root.AddCommand(host)
}
14 changes: 14 additions & 0 deletions cmd/validator.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
// (c) Cartesi and individual authors (see AUTHORS)
// SPDX-License-Identifier: Apache-2.0 (see LICENSE)

package cmd

import "github.com/spf13/cobra"

var validator = &cobra.Command{
Use: "validator",
Short: "Starts the node in validator mode",
Run: func(cmd *cobra.Command, args []string) {
println("TODO")
},
}
10 changes: 10 additions & 0 deletions go.mod
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
module github.com/cartesi/rollups-node

go 1.21.0

require github.com/spf13/cobra v1.7.0

require (
github.com/inconshreveable/mousetrap v1.1.0 // indirect
github.com/spf13/pflag v1.0.5 // indirect
)
10 changes: 10 additions & 0 deletions go.sum
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
github.com/cpuguy83/go-md2man/v2 v2.0.2/go.mod h1:tgQtvFlXSQOSOSIRvRPT7W67SCa46tRHOmNcaadrF8o=
github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8=
github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw=
github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM=
github.com/spf13/cobra v1.7.0 h1:hyqWnYt1ZQShIddO5kBpj3vu05/++x6tJ6dg8EC572I=
github.com/spf13/cobra v1.7.0/go.mod h1:uLxZILRyS/50WlhOIKD7W6V5bgeIt+4sICxh6uRMrb0=
github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
16 changes: 16 additions & 0 deletions main.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
// (c) Cartesi and individual authors (see AUTHORS)
// SPDX-License-Identifier: Apache-2.0 (see LICENSE)

package main

import (
"os"

"github.com/cartesi/rollups-node/cmd"
)

func main() {
if err := cmd.Root.Execute(); err != nil {
os.Exit(1)
}
}
6 changes: 5 additions & 1 deletion offchain/data/src/schema.rs
Original file line number Diff line number Diff line change
Expand Up @@ -67,5 +67,9 @@ diesel::joinable!(reports -> inputs (input_index));
diesel::joinable!(vouchers -> inputs (input_index));

diesel::allow_tables_to_appear_in_same_query!(
inputs, notices, proofs, reports, vouchers,
inputs,
notices,
proofs,
reports,
vouchers,
);

0 comments on commit 866aa13

Please sign in to comment.