From 79d6765eae16574f2c5ecc883c93a1ddbcdcc6f9 Mon Sep 17 00:00:00 2001 From: Reece Williams Date: Wed, 21 Aug 2024 10:32:04 -0500 Subject: [PATCH 1/5] feat: enabled-unsafe-cors --- simapp/scripts/test_node.sh | 3 ++- spawn/cfg.go | 16 ++++++++++++++++ 2 files changed, 18 insertions(+), 1 deletion(-) diff --git a/simapp/scripts/test_node.sh b/simapp/scripts/test_node.sh index f3394866..48d75118 100644 --- a/simapp/scripts/test_node.sh +++ b/simapp/scripts/test_node.sh @@ -140,6 +140,7 @@ sed -i -e 's/cors_allowed_origins = \[\]/cors_allowed_origins = \["\*"\]/g' $HOM # REST endpoint sed -i -e 's/address = "tcp:\/\/localhost:1317"/address = "tcp:\/\/0.0.0.0:'$REST'"/g' $HOME_DIR/config/app.toml sed -i -e 's/enable = false/enable = true/g' $HOME_DIR/config/app.toml +sed -i -e 's/enabled-unsafe-cors = false/enabled-unsafe-cors = true/g' $HOME_DIR/config/app.toml # peer exchange sed -i -e 's/pprof_laddr = "localhost:6060"/pprof_laddr = "localhost:'$PROFF'"/g' $HOME_DIR/config/config.toml @@ -156,4 +157,4 @@ sed -i -e 's/address = ":8080"/address = "0.0.0.0:'$ROSETTA'"/g' $HOME_DIR/confi sed -i -e 's/timeout_commit = "5s"/timeout_commit = "'$BLOCK_TIME'"/g' $HOME_DIR/config/config.toml # Start the node with 0 gas fees -BINARY start --pruning=nothing --minimum-gas-prices=0$DENOM --rpc.laddr="tcp://0.0.0.0:$RPC" \ No newline at end of file +BINARY start --pruning=nothing --minimum-gas-prices=0$DENOM --rpc.laddr="tcp://0.0.0.0:$RPC" diff --git a/spawn/cfg.go b/spawn/cfg.go index 41c0cd4e..c9049e40 100644 --- a/spawn/cfg.go +++ b/spawn/cfg.go @@ -16,6 +16,7 @@ import ( localictypes "github.com/strangelove-ventures/interchaintest/local-interchain/interchain/types" "github.com/strangelove-ventures/interchaintest/v8/chain/cosmos" "github.com/strangelove-ventures/interchaintest/v8/ibc" + "github.com/strangelove-ventures/interchaintest/v8/testutil" ) var ( @@ -312,6 +313,21 @@ func (cfg *NewChainConfig) SetupLocalInterchainJSON() { cosmos.NewGenesisKV("app_state.gov.params.min_deposit.0.amount", "1"), } + c.ConfigFileOverrides = []localictypes.ConfigFileOverrides{ + { + File: "config/app.toml", + Paths: testutil.Toml{ + "api.enabled-unsafe-cors": true, + }, + }, + { + File: "config/config.toml", + Paths: testutil.Toml{ + "rpc.cors_allowed_origins": []string{"*"}, + }, + }, + } + if cfg.IsFeatureEnabled(InterchainSecurity) { c.SetICSConsumerLink("localcosmos-1") } else { From 926be691afa889bc8e52346dc6fa898f54083cd1 Mon Sep 17 00:00:00 2001 From: Reece Williams Date: Wed, 21 Aug 2024 10:45:49 -0500 Subject: [PATCH 2/5] `http://127.0.0.1:1317` --- spawn/explorer.go | 4 ++-- spawn/remove_features.go | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/spawn/explorer.go b/spawn/explorer.go index 8b41ebde..c2992f0f 100644 --- a/spawn/explorer.go +++ b/spawn/explorer.go @@ -98,8 +98,8 @@ func (cfg NewChainConfig) NewChainExplorerConfig() ChainExplorer { logo := "https://img.freepik.com/free-vector/letter-s-box-logo-design-template_474888-3345.jpg?size=338&ext=jpg&ga=GA1.1.2008272138.1721260800&semt=ais_user" return ChainExplorer{ ChainName: cfg.ProjectName, - Api: []Endpoint{NewEndpoint("api.localhost", "https://api.localhost")}, - Rpc: []Endpoint{NewEndpoint("rpc.localhost", "https://rpc.localhost")}, + Api: []Endpoint{NewEndpoint("api.localhost", "http://127.0.0.1:1317")}, + Rpc: []Endpoint{NewEndpoint("rpc.localhost", "http://127.0.0.1:26657")}, SdkVersion: "0.50", CoinType: "118", MinTxFee: "800", diff --git a/spawn/remove_features.go b/spawn/remove_features.go index 7a22da8a..2362a87e 100644 --- a/spawn/remove_features.go +++ b/spawn/remove_features.go @@ -265,7 +265,7 @@ func (fc *FileContent) RemoveOptimisticExecution() { } func (fc *FileContent) RemoveExplorer() { - fc.DeleteDirectoryContents("nginx") + // fc.DeleteDirectoryContents("nginx") } func (fc *FileContent) RemoveInterchainSecurity() { From 385e70b3a64ae76b65cff0b289f8cdb2e8256aae Mon Sep 17 00:00:00 2001 From: Reece Williams Date: Wed, 21 Aug 2024 10:45:58 -0500 Subject: [PATCH 3/5] remove old nginx hack --- simapp/embed.go | 2 +- simapp/nginx/README.md | 22 ------------- simapp/nginx/nginx-selfsigned.crt | 21 ------------ simapp/nginx/nginx-selfsigned.key | 28 ---------------- simapp/nginx/nginx.conf | 53 ------------------------------- 5 files changed, 1 insertion(+), 125 deletions(-) delete mode 100644 simapp/nginx/README.md delete mode 100644 simapp/nginx/nginx-selfsigned.crt delete mode 100755 simapp/nginx/nginx-selfsigned.key delete mode 100644 simapp/nginx/nginx.conf diff --git a/simapp/embed.go b/simapp/embed.go index a88359c6..96d55bc7 100644 --- a/simapp/embed.go +++ b/simapp/embed.go @@ -6,7 +6,7 @@ import ( // !IMPORTANT: interchaintest/ has its own `InterchainTest` embed.FS that will need to be iterated on. -//go:embed .github/* app/* chains/* cmd/* contrib/* scripts/* Makefile Dockerfile nginx/* proto/*.* *.* +//go:embed .github/* app/* chains/* cmd/* contrib/* scripts/* Makefile Dockerfile proto/*.* *.* var SimAppFS embed.FS // To embed the interchaintest/ directory, rename the go.mod file to `go.mod_` diff --git a/simapp/nginx/README.md b/simapp/nginx/README.md deleted file mode 100644 index 2bd9025f..00000000 --- a/simapp/nginx/README.md +++ /dev/null @@ -1,22 +0,0 @@ -# Nginx Explorer - -To run the explorer locally, this nginx configuration is required to get local https to work. - -## Running - -Update your `/etc/hosts` file to include the following: - -``` -127.0.0.1 api.localhost -127.0.0.1 rpc.localhost -127.0.0.1 pingpub.localhost -``` - -Start the testnet with: `make sh-testnet` or the full IBC network with `make testnet` - -Then `docker compose up` to start the reverse proxy, explorer, and the RPC/REST API Services. - - -Visit: https://pingpub.localhost to view the explorer. - -> Attempting to view as a standard http:// instance will break the block explorer due to pesky CORS errors. diff --git a/simapp/nginx/nginx-selfsigned.crt b/simapp/nginx/nginx-selfsigned.crt deleted file mode 100644 index 4309c1bf..00000000 --- a/simapp/nginx/nginx-selfsigned.crt +++ /dev/null @@ -1,21 +0,0 @@ ------BEGIN CERTIFICATE----- -MIIDazCCAlOgAwIBAgIUVgGX1ixwRoR1zlI8hTotdUKYLv4wDQYJKoZIhvcNAQEL -BQAwRTELMAkGA1UEBhMCVVMxEzARBgNVBAgMClNvbWUtU3RhdGUxITAfBgNVBAoM -GEludGVybmV0IFdpZGdpdHMgUHR5IEx0ZDAeFw0yNDA3MjEyMTM4MDVaFw0yNDA4 -MjAyMTM4MDVaMEUxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApTb21lLVN0YXRlMSEw -HwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQwggEiMA0GCSqGSIb3DQEB -AQUAA4IBDwAwggEKAoIBAQDPiqGL1t3RFFkhFJXRb1qO249wODwhUmMIYr3Kn4Tv -RzgZg8+6U95djp6j5ToOnZpW+HGk87y/QKdnc4j23rVLUhWjIOJNsdttB/iBY3bY -4kGpTByeM0/INE1ccjjE/+0e8Zmi/EpAGOtaQc8XWW4w7XUr7PtvXt8hlOSJWfd6 -+1gtiN/uHiAjWAudDyQw06ldhFyBBbIjTgF5jFVUFflPg7rB1RJFquDJGjaW3kDQ -Jz4BLlRhspgQqz1bzJTwqXivXp3nk9na2wesMcMDK0NSLBoqxqqTx06UZmlMm2/R -vRFg6F66/wqUhhxHvw2iLqBhoirhRiIL9IgTu388cE/DAgMBAAGjUzBRMB0GA1Ud -DgQWBBQD++PJjWJKDdNPv+t6aoMyCiF6TDAfBgNVHSMEGDAWgBQD++PJjWJKDdNP -v+t6aoMyCiF6TDAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQCn -+nuVpVpetc83BTOoJopqosaVZuk87NGutvMiua/dHosfwgVqz0PAmg3DZ47eVOeH -trgFW3XINXxPdV8RL9cLAq3sppmSMBHMxHDu54uJ/9nJcEX2zCXYlCeJgcLShLv8 -BB7M1VFPRiaPpAwrE/UgaVumeD+XWNVs6INGB0n74SZG1aRr7JWbm9HG02Hon/MG -5OpUfhpCL13P78x1KuHCMAxAK16Ifpb0Vk17RNqbrDx6yHnhcDOWOCH29RdMB7I9 -fwf62r70hGjhOavgaVKGcbiOIfQoGh8rLOOQUcHXdpbx7lKtjgAnytMIQ6Fx9wNI -WMRBwh/Vql5nhzioWSmB ------END CERTIFICATE----- diff --git a/simapp/nginx/nginx-selfsigned.key b/simapp/nginx/nginx-selfsigned.key deleted file mode 100755 index d39ecb23..00000000 --- a/simapp/nginx/nginx-selfsigned.key +++ /dev/null @@ -1,28 +0,0 @@ ------BEGIN PRIVATE KEY----- -MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDPiqGL1t3RFFkh -FJXRb1qO249wODwhUmMIYr3Kn4TvRzgZg8+6U95djp6j5ToOnZpW+HGk87y/QKdn -c4j23rVLUhWjIOJNsdttB/iBY3bY4kGpTByeM0/INE1ccjjE/+0e8Zmi/EpAGOta -Qc8XWW4w7XUr7PtvXt8hlOSJWfd6+1gtiN/uHiAjWAudDyQw06ldhFyBBbIjTgF5 -jFVUFflPg7rB1RJFquDJGjaW3kDQJz4BLlRhspgQqz1bzJTwqXivXp3nk9na2wes -McMDK0NSLBoqxqqTx06UZmlMm2/RvRFg6F66/wqUhhxHvw2iLqBhoirhRiIL9IgT -u388cE/DAgMBAAECggEALQBn3/0SsuvBGcmvZK7LCY/1LcWb0DPfkmlqst1dA09D -jFDHAaV+4XVz06D4MkQdO796UOSi6Ct6QRXNvI307KSbWXhfaa5noGAqk8+/7O4+ -g5mj2O/SXFxu690+jwTZYyzK/grLhNOCcNs1LuBu4sASeJhVusPtCQiSd2/hGDK0 -3AtN561z3QEAseV+yIVyAutAL0Xj+w8g1g0sKGkojypAwWnhX9I02xBhNFCyMkBp -/Tuts48QEomYbEI91wEa6PumD9EMtHV5JSiHJm59jbn7GPd38fqORB2Qhh580lg6 -zINAOHZb9BwXJYo5tRLZI/tKUQKj8PCactDM+hmQiQKBgQDuFB96a44R7xII8P6o -OE3ECHEsaaiywQ6FX3rVfC2AYySIXVIcrng//ITbwW8Tv26jAfCxkaTV+XN2UplH -tksSj3Ll9f9qCdeog9UJhT7TFR6uwSHTZ9ninhS0J5HEalkYwYo7i4uQaIrjK4Ll -4fLMqiGoFVU1g4REJlNiz/ecqwKBgQDfKgujoCL73akWqVKdEFNWKWlHaTr7Ihhb -wMAmSkK6L29+Ig+0Q+Cs5ndtZP8UFGTndVoi++yU2oXYdXwUcyS+cyzi7X9Zmp+F -xSa8zq5+oOGOfRAOtlp/Sf3/xJO6NxCT7uS0Q5u3BHuldU/Lx5wagA20uCldh5dO -Nx5zubfpSQKBgCvHMX6eVnJ/xo40Wm9uYwZgEwd6qlWsYFIwG3M0MV3BXU9h8Z5q -ipwhgAC00gsMkXiR+8N7J5ddFlk0mRDxuV5BWHxmvr+t7aUEEOF+Se4gnRK/Wsv3 -9b3RGbeC6y/16ko+FIAcid5VCuz47En/QVlXE3dH7PI5K9IoRf8OhNafAoGAKNaP -5LSUUlUA8WWw+Y8YQQc4/dly8qwNmxTN1PP3/AxcMc/X4dweDGXsavd1el41DOo7 -wXUqmR7YKYFuYGulyLhY+XoOuP4DvT4T1a9Y3VFhlWqrepXCP9LxiVGW2xfij7/C -2H4ay8YlPmUWYis4FN1kJLMi1rvOY4DQsMrGrgkCgYEAg/nASsYYpOUxEg8Z2X7r -PvDIPu6S51o74Qwukq4tXG0ALpNHQQJfh4kG2+Dy9gYYuSYHyyRw3I1P68JDQzHB -4qnRaVLQn5rk4++xD01P22juvT+XHqeiRAGl+8n/xqj/qdwoI4LEyhgXH5TpjpCw -gcH/cDxQQbmkHxLCQ3bzuJ8= ------END PRIVATE KEY----- diff --git a/simapp/nginx/nginx.conf b/simapp/nginx/nginx.conf deleted file mode 100644 index 54056556..00000000 --- a/simapp/nginx/nginx.conf +++ /dev/null @@ -1,53 +0,0 @@ -server { - listen 80; - listen 443 ssl; - - server_name api.localhost; - ssl_certificate nginx-selfsigned.crt; - ssl_certificate_key nginx-selfsigned.key; - proxy_set_header Host $host; - proxy_set_header X-Forwarded-For $remote_addr; - add_header Access-Control-Allow-Origin *; - add_header Access-Control-Max-Age 3600; - add_header Access-Control-Expose-Headers Content-Length; - - location / { - proxy_pass http://127.0.0.1:1317; - } -} - -server { - listen 80; - listen 443 ssl; - - server_name rpc.localhost; - ssl_certificate nginx-selfsigned.crt; - ssl_certificate_key nginx-selfsigned.key; - proxy_set_header Host $host; - proxy_set_header X-Forwarded-For $remote_addr; - add_header Access-Control-Allow-Origin *; - add_header Access-Control-Max-Age 3600; - add_header Access-Control-Expose-Headers Content-Length; - - location / { - proxy_pass http://127.0.0.1:26657; - } -} - -server { - listen 80; - listen 443 ssl; - - server_name pingpub.localhost; - ssl_certificate nginx-selfsigned.crt; - ssl_certificate_key nginx-selfsigned.key; - proxy_set_header Host $host; - proxy_set_header X-Forwarded-For $remote_addr; - add_header Access-Control-Allow-Origin *; - add_header Access-Control-Max-Age 3600; - add_header Access-Control-Expose-Headers Content-Length; - - location / { - proxy_pass http://127.0.0.1:5173; - } -} From feb5b7ad137be5e5aa3dc3fd596695d4b0206667 Mon Sep 17 00:00:00 2001 From: Reece Williams Date: Wed, 21 Aug 2024 10:59:31 -0500 Subject: [PATCH 4/5] fix: docker compose --- simapp/README.md | 4 ---- simapp/docker-compose.yml | 25 ++++--------------------- 2 files changed, 4 insertions(+), 25 deletions(-) diff --git a/simapp/README.md b/simapp/README.md index bfcec73d..000def88 100644 --- a/simapp/README.md +++ b/simapp/README.md @@ -22,7 +22,3 @@ - `go test ./... -v` *Unit test* - `make ictest-*` *E2E testing* - -## Launch Block Explorer Locally - -[Reference Guide](./nginx/README.md) \ No newline at end of file diff --git a/simapp/docker-compose.yml b/simapp/docker-compose.yml index c96bb2b1..9754dfad 100644 --- a/simapp/docker-compose.yml +++ b/simapp/docker-compose.yml @@ -1,30 +1,13 @@ version: '3' -# Runs the explorer & reverse proxy +# Runs the explorer # -# NOTE: Must add the following to your /etc/hosts file: -# -# 127.0.0.1 api.localhost -# 127.0.0.1 rpc.localhost -# 127.0.0.1:5173 pingpub.localhost -# -# Then: +# make testnet OR make sh-testnet +# then: # docker compose up services: - nginx: - image: nginx - network_mode: "host" - ports: - - "80:80" - - "443:443" - volumes: - - ./nginx/nginx.conf:/etc/nginx/conf.d/nginx.conf - - ./nginx/nginx-selfsigned.crt:/etc/nginx/nginx-selfsigned.crt - - ./nginx/nginx-selfsigned.key:/etc/nginx/nginx-selfsigned.key pingpub: - depends_on: - - nginx image: pingpub:latest network_mode: "host" build: @@ -35,4 +18,4 @@ services: - ./explorer/chains:/app/chains/ ports: - "80:80" - - "443:443" \ No newline at end of file + - "443:443" From 8304bb0a11c27debef4d7ff4b5eba1bb1f23af01 Mon Sep 17 00:00:00 2001 From: Reece Williams Date: Thu, 22 Aug 2024 09:41:34 -0500 Subject: [PATCH 5/5] newchain-1 -> localchain-1 --- spawn/metadata.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spawn/metadata.go b/spawn/metadata.go index 5ed42878..15b2476f 100644 --- a/spawn/metadata.go +++ b/spawn/metadata.go @@ -12,7 +12,7 @@ const ( DefaultLogo = "https://raw.githubusercontent.com/cosmos/chain-registry/master/cosmoshub/images/atom.png" DefaultLogoSVG = "https://raw.githubusercontent.com/cosmos/chain-registry/master/cosmoshub/images/atom.svg" DefaultDescription = "A short description of your project" - DefaultChainID = "newchain-1" + DefaultChainID = "localchain-1" DefaultNetworkType = "testnet" // or mainnet DefaultSlip44CoinType = 118 DefaultChainRegistrySchema = "https://raw.githubusercontent.com/cosmos/chain-registry/master/chain.schema.json"