diff --git a/doc/development.md b/doc/development.md index 414d3150a6..31dacb5536 100644 --- a/doc/development.md +++ b/doc/development.md @@ -4,11 +4,348 @@ Some tests depend on access to the JSON-RPC API of an Ethereum node connected to mainnet or Rinkeby. -- To run mainnet tests, the `MAINNET_ETH_URL` environment variable should be set. If the variable is not set, the mainnet tests will be skipped. -- To run Rinkeby tests, the `RINKEBY_ETH_URL` environment variable should be set. If the variable is not set, the Rinkeby tests will b eskipped +- To run mainnet tests, the `MAINNET_ETH_URL` environment variable should be set. If the variable is not set, the mainnet tests will be skipped. +- To run Rinkeby tests, the `RINKEBY_ETH_URL` environment variable should be set. If the variable is not set, the Rinkeby tests will b eskipped To run tests: -``` +```bash bash test.sh -``` \ No newline at end of file +``` + +## Debugging + +To debug the code, it is recommended to use [Visual Studio Code](https://code.visualstudio.com/) with the [Go extension](https://marketplace.visualstudio.com/items?itemName=golang.Go). Example VSCode configuration files are provided below. For more information on how to interact with the [go-livepeer](https://github.com/livepeer/go-livepeer) software, please check out the [Livepeer Docs](https://docs.livepeer.org/orchestrators/guides/get-started). + +### Configuration Files + +
+Launch.json (transcoding) + +```bash +{ + "version": "0.2.0", + "configurations": [ + { + "name": "Run CLI", + "type": "go", + "request": "launch", + "mode": "debug", + "program": "cmd/livepeer_cli", + "buildFlags": "-ldflags=-extldflags=-lm", // Fix missing symbol error. + "args": [ + // "--http=8935", // Uncomment for Orch CLI. + "--http=5935" // Uncomment for Gateway CLI. + ] + }, + { + "name": "Launch O/T (off-chain)", + "type": "go", + "request": "launch", + "mode": "debug", + "program": "cmd/livepeer", + "buildFlags": "-ldflags=-extldflags=-lm", // Fix missing symbol error. + "args": [ + "-orchestrator", + "-transcoder", + "-serviceAddr=0.0.0.0:8935", + "-v=6", + "-nvidia=all" + ] + }, + { + "name": "Launch O (off-chain)", + "type": "go", + "request": "launch", + "mode": "debug", + "program": "cmd/livepeer", + "buildFlags": "-ldflags=-extldflags=-lm", // Fix missing symbol error. + "args": [ + "-orchestrator", + "-orchSecret=orchSecret", + "-serviceAddr=0.0.0.0:8935", + "-v=6" + ] + }, + { + "name": "Launch T (off-chain)", + "type": "go", + "request": "launch", + "mode": "debug", + "program": "cmd/livepeer", + "buildFlags": "-ldflags=-extldflags=-lm", // Fix missing symbol error. + "args": [ + "-transcoder", + "-orchSecret=orchSecret", + "-orchAddr=0.0.0.0:8935", + "-v=6", + "-nvidia=all" + ] + }, + { + "name": "Launch G (off-chain)", + "type": "go", + "request": "launch", + "mode": "debug", + "program": "cmd/livepeer", + "buildFlags": "-ldflags=-extldflags=-lm", // Fix missing symbol error. + "args": [ + "-gateway", + "-transcodingOptions=/home//.lpData/offchain/transcodingOptions.json", + "-orchAddr=0.0.0.0:8935", + "-httpAddr=0.0.0.0:9935", + "-v", + "6" + ] + }, + { + "name": "Launch O/T (on-chain)", + "type": "go", + "request": "launch", + "mode": "debug", + "program": "cmd/livepeer", + "buildFlags": "-tags=mainnet,experimental -ldflags=-extldflags=-lm", // Fix missing symbol error and enable mainnet. + "args": [ + "-orchestrator", + "-transcoder", + "-serviceAddr=0.0.0.0:8935", + "-v=6", + "-nvidia=all", + "-network=arbitrum-one-mainnet", + "-ethUrl=https://arb1.arbitrum.io/rpc", + "-ethPassword=", + "-ethAcctAddr=", + "-ethOrchAddr=", + "-pricePerUnit=" + ] + }, + { + "name": "Launch O (on-chain)", + "type": "go", + "request": "launch", + "mode": "debug", + "program": "cmd/livepeer", + "buildFlags": "-tags=mainnet,experimental -ldflags=-extldflags=-lm", // Fix missing symbol error and enable mainnet. + "args": [ + "-orchestrator", + "-orchSecret=orchSecret", + "-serviceAddr=0.0.0.0:8935", + "-v=6", + "-network=arbitrum-one-mainnet", + "-ethUrl=https://arb1.arbitrum.io/rpc", + "-ethPassword=", + "-ethAcctAddr=", + "-ethOrchAddr=", + "-pricePerUnit=" + ] + }, + { + "name": "Launch T (on-chain)", + "type": "go", + "request": "launch", + "mode": "debug", + "program": "cmd/livepeer", + "buildFlags": "-tags=mainnet,experimental -ldflags=-extldflags=-lm", // Fix missing symbol error and enable mainnet. + "args": [ + "-transcoder", + "-orchSecret=orchSecret", + "-orchAddr=0.0.0.0:8935", + "-v=6", + "-nvidia=all" + ] + }, + { + "name": "Launch G (on-chain)", + "type": "go", + "request": "launch", + "mode": "debug", + "program": "cmd/livepeer", + "buildFlags": "-tags=mainnet,experimental -ldflags=-extldflags=-lm", // Fix missing symbol error and enable mainnet. + "args": [ + "-gateway", + "-transcodingOptions=/home//.lpData/offchain/transcodingOptions.json", + "-orchAddr=0.0.0.0:8935", + "-httpAddr=0.0.0.0:9935", + "-v", + "6", + "-httpIngest", + "-network=arbitrum-one-mainnet", + "-ethUrl=https://arb1.arbitrum.io/rpc", + "-ethPassword=", + "-ethAcctAddr=" + ] + } + ] +} +``` + +
+ +
+Launch.json (AI) + +```bash +{ + "version": "0.2.0", + "configurations": [ + { + "name": "Run AI CLI", + "type": "go", + "request": "launch", + "mode": "debug", + "program": "cmd/livepeer_cli", + "buildFlags": "-ldflags=-extldflags=-lm", // Fix missing symbol error. + "args": [ + // "--http=8935", // Uncomment for Orch CLI. + "--http=5935" // Uncomment for Gateway CLI. + ] + }, + { + "name": "Launch AI O/W (off-chain)", + "type": "go", + "request": "launch", + "mode": "debug", + "program": "cmd/livepeer", + "buildFlags": "-ldflags=-extldflags=-lm", // Fix missing symbol error. + "args": [ + "-orchestrator", + "-aiWorker", + "-serviceAddr=0.0.0.0:8935", + "-v=6", + "-nvidia=all", + "-aiModels=/home//.lpData/cfg/aiModels.json", + "-aiModelsDir=/home//.lpData/models" + ] + }, + { + "name": "Launch AI O (off-chain)", + "type": "go", + "request": "launch", + "mode": "debug", + "program": "cmd/livepeer", + "buildFlags": "-ldflags='-extldflags=-lm -X github.com/livepeer/go-livepeer/core.LivepeerVersion=0.0.0'", // Fix missing symbol and version mismatch errors. + "args": [ + "-orchestrator", + "-orchSecret=orchSecret", + "-serviceAddr=0.0.0.0:8935", + "-v=6" + ] + }, + { + "name": "Launch AI W (off-chain)", + "type": "go", + "request": "launch", + "mode": "debug", + "program": "cmd/livepeer", + "buildFlags": "-ldflags='-extldflags=-lm -X github.com/livepeer/go-livepeer/core.LivepeerVersion=0.0.0'", // Fix missing symbol and version mismatch errors. + "args": [ + "-aiWorker", + "-orchSecret=orchSecret", + "-orchAddr=0.0.0.0:8935", + "-v=6", + "-nvidia=all", + "-aiModels=/home//.lpData/cfg/aiModels.json", + "-aiModelsDir=/home//.lpData/models" + ] + }, + { + "name": "Launch AI G (off-chain)", + "type": "go", + "request": "launch", + "mode": "debug", + "program": "cmd/livepeer", + "buildFlags": "-ldflags=-extldflags=-lm", // Fix missing symbol error. + "args": [ + "-gateway", + "-orchAddr=0.0.0.0:8935", + "-httpAddr=0.0.0.0:9935", + "-v", + "6", + "-httpIngest" + ] + }, + { + "name": "Launch AI O/W (on-chain)", + "type": "go", + "request": "launch", + "mode": "debug", + "program": "cmd/livepeer", + "buildFlags": "-tags=mainnet,experimental -ldflags=-extldflags=-lm", // Fix missing symbol error and enable mainnet. + "args": [ + "-orchestrator", + "-aiWorker", + "-serviceAddr=0.0.0.0:8935", + "-v=6", + "-nvidia=all", + "-aiModels=/home//.lpData/cfg/aiModels.json", + "-aiModelsDir=/home//.lpData/models", + "-network=arbitrum-one-mainnet", + "-ethUrl=https://arb1.arbitrum.io/rpc", + "-ethPassword=", + "-ethAcctAddr=", + "-ethOrchAddr=" + ] + }, + { + "name": "Launch AI O (on-chain)", + "type": "go", + "request": "launch", + "mode": "debug", + "program": "cmd/livepeer", + "buildFlags": "-tags=mainnet,experimental -ldflags='-extldflags=-lm -X github.com/livepeer/go-livepeer/core.LivepeerVersion=0.0.0'", // Fix missing symbol error, version mismatch error and enable mainnet. + "args": [ + "-orchestrator", + "-orchSecret=orchSecret", + "-serviceAddr=0.0.0.0:8935", + "-v=6", + "-network=arbitrum-one-mainnet", + "-ethUrl=https://arb1.arbitrum.io/rpc", + "-ethPassword=", + "-ethAcctAddr=", + "-ethOrchAddr=", + "-pricePerUnit=0" + ] + }, + { + "name": "Launch AI W (on-chain)", + "type": "go", + "request": "launch", + "mode": "debug", + "program": "cmd/livepeer", + "buildFlags": "-tags=mainnet,experimental -ldflags='-extldflags=-lm -X github.com/livepeer/go-livepeer/core.LivepeerVersion=0.0.0'", // Fix missing symbol error, version mismatch error and enable mainnet. + "args": [ + "-aiWorker", + "-orchSecret=orchSecret", + "-orchAddr=0.0.0.0:8935", + "-v=6", + "-nvidia=all", + "-aiModels=/home//.lpData/cfg/aiModels.json", + "-aiModelsDir=/home//.lpData/models" + ] + }, + { + "name": "Launch AI G (on-chain)", + "type": "go", + "request": "launch", + "mode": "debug", + "program": "cmd/livepeer", + "buildFlags": "-tags=mainnet,experimental -ldflags=-extldflags=-lm", // Fix missing symbol error and enable mainnet. + "args": [ + "-gateway", + "-transcodingOptions=/home//.lpData/offchain/transcodingOptions.json", + "-orchAddr=0.0.0.0:8935", + "-httpAddr=0.0.0.0:9935", + "-v", + "6", + "-httpIngest", + "-network=arbitrum-one-mainnet", + "-ethUrl=https://arb1.arbitrum.io/rpc", + "-ethPassword=", + "-ethAcctAddr=" + ] + } + ] +} +``` + +