mirror of
https://github.com/onsonr/sonr.git
synced 2025-03-10 13:07:09 +00:00
feat: add hway binary support and Homebrew formula
This commit is contained in:
parent
b7a40ac3d7
commit
7806c07381
@ -3,6 +3,16 @@ version: 2
|
|||||||
project_name: sonr
|
project_name: sonr
|
||||||
|
|
||||||
builds:
|
builds:
|
||||||
|
- id: hway
|
||||||
|
goos: [linux, darwin]
|
||||||
|
goarch: [amd64, arm64]
|
||||||
|
main: ./cmd/hway
|
||||||
|
binary: hway
|
||||||
|
builder: go
|
||||||
|
gobinary: go
|
||||||
|
command: build
|
||||||
|
ldflags:
|
||||||
|
- -s -w -X main.version={{.Version}} -X main.commit={{.Commit}} -X main.date={{.Date}}
|
||||||
- id: sonr
|
- id: sonr
|
||||||
goos: [linux, darwin]
|
goos: [linux, darwin]
|
||||||
goarch: [amd64, arm64]
|
goarch: [amd64, arm64]
|
||||||
@ -15,6 +25,13 @@ builds:
|
|||||||
- -s -w -X main.version={{.Version}} -X main.commit={{.Commit}} -X main.date={{.Date}}
|
- -s -w -X main.version={{.Version}} -X main.commit={{.Commit}} -X main.date={{.Date}}
|
||||||
|
|
||||||
archives:
|
archives:
|
||||||
|
- id: hway
|
||||||
|
builds: [hway]
|
||||||
|
name_template: '{{ .ProjectName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}{{ with .Arm }}v{{ . }}{{ end }}{{ with .Mips }}_{{ . }}{{ end }}{{ if not (eq .Amd64 "v1") }}{{ .Amd64 }}{{ end }}'
|
||||||
|
format: tar.gz
|
||||||
|
files:
|
||||||
|
- src: README*
|
||||||
|
- src: CHANGELOG*
|
||||||
- id: sonr
|
- id: sonr
|
||||||
builds: [sonr]
|
builds: [sonr]
|
||||||
name_template: '{{ .ProjectName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}{{ with .Arm }}v{{ . }}{{ end }}{{ with .Mips }}_{{ . }}{{ end }}{{ if not (eq .Amd64 "v1") }}{{ .Amd64 }}{{ end }}'
|
name_template: '{{ .ProjectName }}_{{ .Version }}_{{ .Os }}_{{ .Arch }}{{ with .Arm }}v{{ . }}{{ end }}{{ with .Mips }}_{{ . }}{{ end }}{{ if not (eq .Amd64 "v1") }}{{ .Amd64 }}{{ end }}'
|
||||||
@ -23,6 +40,40 @@ archives:
|
|||||||
- src: README*
|
- src: README*
|
||||||
- src: CHANGELOG*
|
- src: CHANGELOG*
|
||||||
|
|
||||||
|
brews:
|
||||||
|
- name: hway
|
||||||
|
ids: [hway]
|
||||||
|
commit_author:
|
||||||
|
name: goreleaserbot
|
||||||
|
email: bot@goreleaser.com
|
||||||
|
directory: Formula
|
||||||
|
caveats: "Run a local hway node and access it with the hway proxy"
|
||||||
|
homepage: "https://onsonr.dev"
|
||||||
|
description: "Sonr is a decentralized, permissionless, and censorship-resistant identity network."
|
||||||
|
dependencies:
|
||||||
|
- name: ipfs
|
||||||
|
repository:
|
||||||
|
owner: onsonr
|
||||||
|
name: homebrew-tap
|
||||||
|
branch: master
|
||||||
|
token: "{{ .Env.GITHUB_PERSONAL_AUTH_TOKEN }}"
|
||||||
|
- name: sonr
|
||||||
|
ids: [sonr]
|
||||||
|
commit_author:
|
||||||
|
name: goreleaserbot
|
||||||
|
email: bot@goreleaser.com
|
||||||
|
directory: Formula
|
||||||
|
caveats: "Run a local sonr node and access it with the hway proxy"
|
||||||
|
homepage: "https://onsonr.dev"
|
||||||
|
description: "Sonr is a decentralized, permissionless, and censorship-resistant identity network."
|
||||||
|
dependencies:
|
||||||
|
- name: ipfs
|
||||||
|
repository:
|
||||||
|
owner: onsonr
|
||||||
|
name: homebrew-tap
|
||||||
|
branch: master
|
||||||
|
token: "{{ .Env.GITHUB_PERSONAL_AUTH_TOKEN }}"
|
||||||
|
|
||||||
release:
|
release:
|
||||||
github:
|
github:
|
||||||
owner: onsonr
|
owner: onsonr
|
||||||
@ -36,24 +87,6 @@ release:
|
|||||||
- glob: ./README*
|
- glob: ./README*
|
||||||
- glob: ./LICENSE*
|
- glob: ./LICENSE*
|
||||||
|
|
||||||
brews:
|
|
||||||
- name: sonr
|
|
||||||
ids: [sonr]
|
|
||||||
commit_author:
|
|
||||||
name: goreleaserbot
|
|
||||||
email: bot@goreleaser.com
|
|
||||||
directory: Formula
|
|
||||||
caveats: "Run a local sonr node and access it with the hway proxy"
|
|
||||||
homepage: "https://sonr.io/"
|
|
||||||
description: "Sonr is a decentralized, permissionless, and censorship-resistant identity network."
|
|
||||||
dependencies:
|
|
||||||
- name: ipfs
|
|
||||||
repository:
|
|
||||||
owner: onsonr
|
|
||||||
name: homebrew-tap
|
|
||||||
branch: master
|
|
||||||
token: "{{ .Env.GITHUB_PERSONAL_AUTH_TOKEN }}"
|
|
||||||
|
|
||||||
announce:
|
announce:
|
||||||
telegram:
|
telegram:
|
||||||
enabled: true
|
enabled: true
|
||||||
|
@ -1,14 +1,9 @@
|
|||||||
package mpc
|
package mpc
|
||||||
|
|
||||||
import (
|
import (
|
||||||
genericecdsa "crypto/ecdsa"
|
|
||||||
"fmt"
|
"fmt"
|
||||||
"math/big"
|
|
||||||
|
|
||||||
"github.com/cosmos/cosmos-sdk/types/bech32"
|
"github.com/cosmos/cosmos-sdk/types/bech32"
|
||||||
"github.com/onsonr/sonr/crypto/core/curves"
|
|
||||||
"github.com/onsonr/sonr/crypto/core/protocol"
|
|
||||||
"golang.org/x/crypto/sha3"
|
|
||||||
)
|
)
|
||||||
|
|
||||||
type (
|
type (
|
||||||
@ -64,82 +59,3 @@ func ComputeSonrAddr(pk []byte) (string, error) {
|
|||||||
}
|
}
|
||||||
return sonrAddr, nil
|
return sonrAddr, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
// For DKG bob starts first. For refresh and sign, Alice starts first.
|
|
||||||
func RunProtocol(firstParty protocol.Iterator, secondParty protocol.Iterator) (error, error) {
|
|
||||||
var (
|
|
||||||
message *protocol.Message
|
|
||||||
aErr error
|
|
||||||
bErr error
|
|
||||||
)
|
|
||||||
|
|
||||||
for aErr != protocol.ErrProtocolFinished || bErr != protocol.ErrProtocolFinished {
|
|
||||||
// Crank each protocol forward one iteration
|
|
||||||
message, bErr = firstParty.Next(message)
|
|
||||||
if bErr != nil && bErr != protocol.ErrProtocolFinished {
|
|
||||||
return nil, bErr
|
|
||||||
}
|
|
||||||
|
|
||||||
message, aErr = secondParty.Next(message)
|
|
||||||
if aErr != nil && aErr != protocol.ErrProtocolFinished {
|
|
||||||
return aErr, nil
|
|
||||||
}
|
|
||||||
}
|
|
||||||
return aErr, bErr
|
|
||||||
}
|
|
||||||
|
|
||||||
// ComputeEcPoint builds an elliptic curve point from a compressed byte slice
|
|
||||||
func ComputeEcPoint(pubKey []byte) (*curves.EcPoint, error) {
|
|
||||||
crv := curves.K256()
|
|
||||||
x := new(big.Int).SetBytes(pubKey[1:33])
|
|
||||||
y := new(big.Int).SetBytes(pubKey[33:])
|
|
||||||
ecCurve, err := crv.ToEllipticCurve()
|
|
||||||
if err != nil {
|
|
||||||
return nil, fmt.Errorf("error converting curve: %v", err)
|
|
||||||
}
|
|
||||||
return &curves.EcPoint{X: x, Y: y, Curve: ecCurve}, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func ComputeEcdsaPublicKey(pubKey []byte) (*genericecdsa.PublicKey, error) {
|
|
||||||
pk, err := ComputeEcPoint(pubKey)
|
|
||||||
if err != nil {
|
|
||||||
return nil, err
|
|
||||||
}
|
|
||||||
return &genericecdsa.PublicKey{
|
|
||||||
Curve: pk.Curve,
|
|
||||||
X: pk.X,
|
|
||||||
Y: pk.Y,
|
|
||||||
}, nil
|
|
||||||
}
|
|
||||||
|
|
||||||
// VerifySignature verifies the signature of a message
|
|
||||||
func VerifySignature(pk []byte, msg []byte, sig []byte) (bool, error) {
|
|
||||||
pp, err := ComputeEcPoint(pk)
|
|
||||||
if err != nil {
|
|
||||||
return false, err
|
|
||||||
}
|
|
||||||
sigEd, err := DeserializeSignature(sig)
|
|
||||||
if err != nil {
|
|
||||||
return false, err
|
|
||||||
}
|
|
||||||
hash := sha3.New256()
|
|
||||||
_, err = hash.Write(msg)
|
|
||||||
if err != nil {
|
|
||||||
return false, err
|
|
||||||
}
|
|
||||||
digest := hash.Sum(nil)
|
|
||||||
return curves.VerifyEcdsa(pp, digest[:], sigEd), nil
|
|
||||||
}
|
|
||||||
|
|
||||||
func checkIteratedErrors(aErr, bErr error) error {
|
|
||||||
if aErr == protocol.ErrProtocolFinished && bErr == protocol.ErrProtocolFinished {
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
if aErr != protocol.ErrProtocolFinished {
|
|
||||||
return aErr
|
|
||||||
}
|
|
||||||
if bErr != protocol.ErrProtocolFinished {
|
|
||||||
return bErr
|
|
||||||
}
|
|
||||||
return nil
|
|
||||||
}
|
|
||||||
|
@ -2,12 +2,15 @@ package mpc
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"crypto/ecdsa"
|
"crypto/ecdsa"
|
||||||
|
genericecdsa "crypto/ecdsa"
|
||||||
"errors"
|
"errors"
|
||||||
|
"fmt"
|
||||||
"math/big"
|
"math/big"
|
||||||
|
|
||||||
"github.com/onsonr/sonr/crypto/core/curves"
|
"github.com/onsonr/sonr/crypto/core/curves"
|
||||||
"github.com/onsonr/sonr/crypto/core/protocol"
|
"github.com/onsonr/sonr/crypto/core/protocol"
|
||||||
"github.com/onsonr/sonr/crypto/tecdsa/dklsv1"
|
"github.com/onsonr/sonr/crypto/tecdsa/dklsv1"
|
||||||
|
"golang.org/x/crypto/sha3"
|
||||||
)
|
)
|
||||||
|
|
||||||
// NewKeyshareSource generates a new MPC keyshare
|
// NewKeyshareSource generates a new MPC keyshare
|
||||||
@ -113,3 +116,82 @@ func DeserializeSignature(sigBytes []byte) (Signature, error) {
|
|||||||
func VerifyMPCSignature(sig Signature, msg []byte, publicKey *ecdsa.PublicKey) bool {
|
func VerifyMPCSignature(sig Signature, msg []byte, publicKey *ecdsa.PublicKey) bool {
|
||||||
return ecdsa.Verify(publicKey, msg, sig.R, sig.S)
|
return ecdsa.Verify(publicKey, msg, sig.R, sig.S)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// For DKG bob starts first. For refresh and sign, Alice starts first.
|
||||||
|
func RunProtocol(firstParty protocol.Iterator, secondParty protocol.Iterator) (error, error) {
|
||||||
|
var (
|
||||||
|
message *protocol.Message
|
||||||
|
aErr error
|
||||||
|
bErr error
|
||||||
|
)
|
||||||
|
|
||||||
|
for aErr != protocol.ErrProtocolFinished || bErr != protocol.ErrProtocolFinished {
|
||||||
|
// Crank each protocol forward one iteration
|
||||||
|
message, bErr = firstParty.Next(message)
|
||||||
|
if bErr != nil && bErr != protocol.ErrProtocolFinished {
|
||||||
|
return nil, bErr
|
||||||
|
}
|
||||||
|
|
||||||
|
message, aErr = secondParty.Next(message)
|
||||||
|
if aErr != nil && aErr != protocol.ErrProtocolFinished {
|
||||||
|
return aErr, nil
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return aErr, bErr
|
||||||
|
}
|
||||||
|
|
||||||
|
// ComputeEcPoint builds an elliptic curve point from a compressed byte slice
|
||||||
|
func ComputeEcPoint(pubKey []byte) (*curves.EcPoint, error) {
|
||||||
|
crv := curves.K256()
|
||||||
|
x := new(big.Int).SetBytes(pubKey[1:33])
|
||||||
|
y := new(big.Int).SetBytes(pubKey[33:])
|
||||||
|
ecCurve, err := crv.ToEllipticCurve()
|
||||||
|
if err != nil {
|
||||||
|
return nil, fmt.Errorf("error converting curve: %v", err)
|
||||||
|
}
|
||||||
|
return &curves.EcPoint{X: x, Y: y, Curve: ecCurve}, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func ComputeEcdsaPublicKey(pubKey []byte) (*genericecdsa.PublicKey, error) {
|
||||||
|
pk, err := ComputeEcPoint(pubKey)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return &genericecdsa.PublicKey{
|
||||||
|
Curve: pk.Curve,
|
||||||
|
X: pk.X,
|
||||||
|
Y: pk.Y,
|
||||||
|
}, nil
|
||||||
|
}
|
||||||
|
|
||||||
|
// VerifySignature verifies the signature of a message
|
||||||
|
func VerifySignature(pk []byte, msg []byte, sig []byte) (bool, error) {
|
||||||
|
pp, err := ComputeEcPoint(pk)
|
||||||
|
if err != nil {
|
||||||
|
return false, err
|
||||||
|
}
|
||||||
|
sigEd, err := DeserializeSignature(sig)
|
||||||
|
if err != nil {
|
||||||
|
return false, err
|
||||||
|
}
|
||||||
|
hash := sha3.New256()
|
||||||
|
_, err = hash.Write(msg)
|
||||||
|
if err != nil {
|
||||||
|
return false, err
|
||||||
|
}
|
||||||
|
digest := hash.Sum(nil)
|
||||||
|
return curves.VerifyEcdsa(pp, digest[:], sigEd), nil
|
||||||
|
}
|
||||||
|
|
||||||
|
func checkIteratedErrors(aErr, bErr error) error {
|
||||||
|
if aErr == protocol.ErrProtocolFinished && bErr == protocol.ErrProtocolFinished {
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
if aErr != protocol.ErrProtocolFinished {
|
||||||
|
return aErr
|
||||||
|
}
|
||||||
|
if bErr != protocol.ErrProtocolFinished {
|
||||||
|
return bErr
|
||||||
|
}
|
||||||
|
return nil
|
||||||
|
}
|
||||||
|
@ -1,55 +0,0 @@
|
|||||||
# https://taskfile.dev
|
|
||||||
|
|
||||||
version: "3"
|
|
||||||
|
|
||||||
vars:
|
|
||||||
GREETING: Hello, World!
|
|
||||||
|
|
||||||
tasks:
|
|
||||||
init:sonrd:
|
|
||||||
cmds:
|
|
||||||
- sonrd init {{.NODE_NAME}} --chain-id {{.CHAIN_ID}} --home {{.HOME}}
|
|
||||||
|
|
||||||
init:ipfs:
|
|
||||||
cmds:
|
|
||||||
- ipfs init
|
|
||||||
|
|
||||||
init:hway:
|
|
||||||
cmds:
|
|
||||||
- sonrd hway init {{.NODE_NAME}} --home {{.HOME}}
|
|
||||||
|
|
||||||
start:sonrd:
|
|
||||||
cmds:
|
|
||||||
- sonrd start --home {{.HOME}}
|
|
||||||
|
|
||||||
start:ipfs:
|
|
||||||
cmds:
|
|
||||||
- ipfs daemon
|
|
||||||
|
|
||||||
start:hway:
|
|
||||||
cmds:
|
|
||||||
- sonrd hway start --home {{.HOME}}
|
|
||||||
|
|
||||||
stop:sonrd:
|
|
||||||
cmds:
|
|
||||||
- sonrd stop
|
|
||||||
|
|
||||||
stop:ipfs:
|
|
||||||
cmds:
|
|
||||||
- ipfs daemon stop
|
|
||||||
|
|
||||||
stop:hway:
|
|
||||||
cmds:
|
|
||||||
- sonrd hway stop
|
|
||||||
|
|
||||||
clean:sonrd:
|
|
||||||
cmds:
|
|
||||||
- rm -rf {{.HOME}}
|
|
||||||
|
|
||||||
clean:ipfs:
|
|
||||||
cmds:
|
|
||||||
- rm -rf ~/.ipfs
|
|
||||||
|
|
||||||
clean:hway:
|
|
||||||
cmds:
|
|
||||||
- rm -rf {{.HOME}}/data/hway
|
|
@ -1,251 +0,0 @@
|
|||||||
{
|
|
||||||
"lockfile_version": "1",
|
|
||||||
"packages": {
|
|
||||||
"air@latest": {
|
|
||||||
"last_modified": "2024-11-16T04:25:12Z",
|
|
||||||
"resolved": "github:NixOS/nixpkgs/34a626458d686f1b58139620a8b2793e9e123bba#air",
|
|
||||||
"source": "devbox-search",
|
|
||||||
"version": "1.61.1",
|
|
||||||
"systems": {
|
|
||||||
"aarch64-darwin": {
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "out",
|
|
||||||
"path": "/nix/store/0s90vbnmsyyixs0991md21pbrw8babfb-air-1.61.1",
|
|
||||||
"default": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"store_path": "/nix/store/0s90vbnmsyyixs0991md21pbrw8babfb-air-1.61.1"
|
|
||||||
},
|
|
||||||
"aarch64-linux": {
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "out",
|
|
||||||
"path": "/nix/store/8mpw2asxs297v26fxqy2y1bq438f344l-air-1.61.1",
|
|
||||||
"default": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"store_path": "/nix/store/8mpw2asxs297v26fxqy2y1bq438f344l-air-1.61.1"
|
|
||||||
},
|
|
||||||
"x86_64-darwin": {
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "out",
|
|
||||||
"path": "/nix/store/abminkf7ldqf9vm14xx5wvsrdx3wrvy6-air-1.61.1",
|
|
||||||
"default": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"store_path": "/nix/store/abminkf7ldqf9vm14xx5wvsrdx3wrvy6-air-1.61.1"
|
|
||||||
},
|
|
||||||
"x86_64-linux": {
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "out",
|
|
||||||
"path": "/nix/store/ajx8v5rbbvglncb97yybg3x9kn95gfrm-air-1.61.1",
|
|
||||||
"default": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"store_path": "/nix/store/ajx8v5rbbvglncb97yybg3x9kn95gfrm-air-1.61.1"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"bun@latest": {
|
|
||||||
"last_modified": "2024-11-18T00:41:09Z",
|
|
||||||
"resolved": "github:NixOS/nixpkgs/5083ec887760adfe12af64830a66807423a859a7#bun",
|
|
||||||
"source": "devbox-search",
|
|
||||||
"version": "1.1.34",
|
|
||||||
"systems": {
|
|
||||||
"aarch64-darwin": {
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "out",
|
|
||||||
"path": "/nix/store/xnj00gq1mfffvgyisghk4m9f38gc5c5c-bun-1.1.34",
|
|
||||||
"default": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"store_path": "/nix/store/xnj00gq1mfffvgyisghk4m9f38gc5c5c-bun-1.1.34"
|
|
||||||
},
|
|
||||||
"aarch64-linux": {
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "out",
|
|
||||||
"path": "/nix/store/kccpzv8fb7swmmxbhv805qzq242rhy33-bun-1.1.34",
|
|
||||||
"default": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"store_path": "/nix/store/kccpzv8fb7swmmxbhv805qzq242rhy33-bun-1.1.34"
|
|
||||||
},
|
|
||||||
"x86_64-darwin": {
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "out",
|
|
||||||
"path": "/nix/store/8h5k3l4fpgs3al2wvna7x9ybyyc8k36d-bun-1.1.34",
|
|
||||||
"default": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"store_path": "/nix/store/8h5k3l4fpgs3al2wvna7x9ybyyc8k36d-bun-1.1.34"
|
|
||||||
},
|
|
||||||
"x86_64-linux": {
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "out",
|
|
||||||
"path": "/nix/store/x089g4srqw71w5jnc87vxbh7m12498i0-bun-1.1.34",
|
|
||||||
"default": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"store_path": "/nix/store/x089g4srqw71w5jnc87vxbh7m12498i0-bun-1.1.34"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"ipfs@latest": {
|
|
||||||
"last_modified": "2023-02-24T09:01:09Z",
|
|
||||||
"resolved": "github:NixOS/nixpkgs/7d0ed7f2e5aea07ab22ccb338d27fbe347ed2f11#ipfs",
|
|
||||||
"source": "devbox-search",
|
|
||||||
"version": "0.17.0"
|
|
||||||
},
|
|
||||||
"skate@latest": {
|
|
||||||
"last_modified": "2024-11-16T04:25:12Z",
|
|
||||||
"resolved": "github:NixOS/nixpkgs/34a626458d686f1b58139620a8b2793e9e123bba#skate",
|
|
||||||
"source": "devbox-search",
|
|
||||||
"version": "1.0.0",
|
|
||||||
"systems": {
|
|
||||||
"aarch64-darwin": {
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "out",
|
|
||||||
"path": "/nix/store/q6yhpyfbqiabyic6ymx5rp2db62bnbvr-skate-1.0.0",
|
|
||||||
"default": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"store_path": "/nix/store/q6yhpyfbqiabyic6ymx5rp2db62bnbvr-skate-1.0.0"
|
|
||||||
},
|
|
||||||
"aarch64-linux": {
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "out",
|
|
||||||
"path": "/nix/store/q55dbgvc4xwvr2g02dks6j2j699qni2k-skate-1.0.0",
|
|
||||||
"default": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"store_path": "/nix/store/q55dbgvc4xwvr2g02dks6j2j699qni2k-skate-1.0.0"
|
|
||||||
},
|
|
||||||
"x86_64-darwin": {
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "out",
|
|
||||||
"path": "/nix/store/s1hy525y8ciya3nrns9kryy3jlcw8igv-skate-1.0.0",
|
|
||||||
"default": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"store_path": "/nix/store/s1hy525y8ciya3nrns9kryy3jlcw8igv-skate-1.0.0"
|
|
||||||
},
|
|
||||||
"x86_64-linux": {
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "out",
|
|
||||||
"path": "/nix/store/8s03iazymz77nv6pjxpz7wair0m646wv-skate-1.0.0",
|
|
||||||
"default": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"store_path": "/nix/store/8s03iazymz77nv6pjxpz7wair0m646wv-skate-1.0.0"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"templ@latest": {
|
|
||||||
"last_modified": "2024-11-16T04:25:12Z",
|
|
||||||
"resolved": "github:NixOS/nixpkgs/34a626458d686f1b58139620a8b2793e9e123bba#templ",
|
|
||||||
"source": "devbox-search",
|
|
||||||
"version": "0.2.793",
|
|
||||||
"systems": {
|
|
||||||
"aarch64-darwin": {
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "out",
|
|
||||||
"path": "/nix/store/ivargvf76g71k5gk3iz4al52rsy28w38-templ-0.2.793",
|
|
||||||
"default": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"store_path": "/nix/store/ivargvf76g71k5gk3iz4al52rsy28w38-templ-0.2.793"
|
|
||||||
},
|
|
||||||
"aarch64-linux": {
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "out",
|
|
||||||
"path": "/nix/store/03654iddn006yx5j1lqq496hax60v8p5-templ-0.2.793",
|
|
||||||
"default": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"store_path": "/nix/store/03654iddn006yx5j1lqq496hax60v8p5-templ-0.2.793"
|
|
||||||
},
|
|
||||||
"x86_64-darwin": {
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "out",
|
|
||||||
"path": "/nix/store/blvd5wbd1ix6m745s4zx3b84kwzprshq-templ-0.2.793",
|
|
||||||
"default": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"store_path": "/nix/store/blvd5wbd1ix6m745s4zx3b84kwzprshq-templ-0.2.793"
|
|
||||||
},
|
|
||||||
"x86_64-linux": {
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "out",
|
|
||||||
"path": "/nix/store/sn5h79d36r86i6a8rm1k52c2ij1s32kx-templ-0.2.793",
|
|
||||||
"default": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"store_path": "/nix/store/sn5h79d36r86i6a8rm1k52c2ij1s32kx-templ-0.2.793"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"tigerbeetle@latest": {
|
|
||||||
"last_modified": "2024-11-16T04:25:12Z",
|
|
||||||
"resolved": "github:NixOS/nixpkgs/34a626458d686f1b58139620a8b2793e9e123bba#tigerbeetle",
|
|
||||||
"source": "devbox-search",
|
|
||||||
"version": "0.16.12",
|
|
||||||
"systems": {
|
|
||||||
"aarch64-darwin": {
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "out",
|
|
||||||
"path": "/nix/store/mm3jzwf24p35afr55v7kl5a0h6962i6p-tigerbeetle-0.16.12",
|
|
||||||
"default": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"store_path": "/nix/store/mm3jzwf24p35afr55v7kl5a0h6962i6p-tigerbeetle-0.16.12"
|
|
||||||
},
|
|
||||||
"aarch64-linux": {
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "out",
|
|
||||||
"path": "/nix/store/4106973gg3crfxq0gwrgwn4hcx64mzyy-tigerbeetle-0.16.12",
|
|
||||||
"default": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"store_path": "/nix/store/4106973gg3crfxq0gwrgwn4hcx64mzyy-tigerbeetle-0.16.12"
|
|
||||||
},
|
|
||||||
"x86_64-darwin": {
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "out",
|
|
||||||
"path": "/nix/store/6lnwnr3mvdamm5lxjjqkaagw2pyqlq0a-tigerbeetle-0.16.12",
|
|
||||||
"default": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"store_path": "/nix/store/6lnwnr3mvdamm5lxjjqkaagw2pyqlq0a-tigerbeetle-0.16.12"
|
|
||||||
},
|
|
||||||
"x86_64-linux": {
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "out",
|
|
||||||
"path": "/nix/store/afrj2ph61xz0lh7f3d1g1d7v2rslbvny-tigerbeetle-0.16.12",
|
|
||||||
"default": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"store_path": "/nix/store/afrj2ph61xz0lh7f3d1g1d7v2rslbvny-tigerbeetle-0.16.12"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,202 +0,0 @@
|
|||||||
import "https://pkl.sh/ipfs.net/0.0.1/Config.pkl"
|
|
||||||
|
|
||||||
API {
|
|
||||||
HTTPHeaders {
|
|
||||||
`Access-Control-Allow-Origin` = new { "*" }
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Addresses {
|
|
||||||
API = "/ip4/127.0.0.1/tcp/5001"
|
|
||||||
Gateway = "/ip4/127.0.0.1/tcp/8080"
|
|
||||||
Swarm = new {
|
|
||||||
"/ip4/0.0.0.0/tcp/4001"
|
|
||||||
"/ip6/::/tcp/4001"
|
|
||||||
"/ip4/0.0.0.0/udp/4001/quic"
|
|
||||||
"/ip6/::/udp/4001/quic"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Bootstrap {
|
|
||||||
"/dnsaddr/bootstrap.libp2p.io/p2p/QmQCU2EcMqAqQPR2i9bChDtGNJchTbq5TbXJJ16u19uLTa"
|
|
||||||
"/dnsaddr/bootstrap.libp2p.io/p2p/QmbLHAnMoJPWSCR5Zhtx6BHJX9KiKNN6tpvbUcqanj75Nb"
|
|
||||||
"/dnsaddr/bootstrap.libp2p.io/p2p/QmcZf59bWwK5XFi76CZX8cbJ4BhTzzA3gU1ZjYZcYW3dwt"
|
|
||||||
"/ip4/104.131.131.82/tcp/4001/p2p/QmaCpDMGvV2BGHeYERUEnRQAwe3N8SzbUtfsmvsqQLuvuJ"
|
|
||||||
"/ip4/104.131.131.82/udp/4001/quic/p2p/QmaCpDMGvV2BGHeYERUEnRQAwe3N8SzbUtfsmvsqQLuvuJ"
|
|
||||||
"/dnsaddr/bootstrap.libp2p.io/p2p/QmNnooDu7bfjPFoTZYxMNLWUQJyrVwtbZg5gBMjTezGAJN"
|
|
||||||
}
|
|
||||||
|
|
||||||
Datastore {
|
|
||||||
BloomFilterSize = 0
|
|
||||||
GCPeriod = "1h"
|
|
||||||
HashOnRead = false
|
|
||||||
StorageGCWatermark = 90
|
|
||||||
StorageMax = "10GB"
|
|
||||||
Spec = new {
|
|
||||||
mounts = new {
|
|
||||||
new {
|
|
||||||
prefix = "flatfs.datastore"
|
|
||||||
child = new {
|
|
||||||
path = "blocks"
|
|
||||||
shardFunc = "/repo/flatfs/shard/v1/next-to-last/2"
|
|
||||||
type = "flatfs"
|
|
||||||
sync = true
|
|
||||||
}
|
|
||||||
mountpoint = "/blocks"
|
|
||||||
type = "measure"
|
|
||||||
}
|
|
||||||
new {
|
|
||||||
prefix = "leveldb.datastore"
|
|
||||||
child = new {
|
|
||||||
compression = "none"
|
|
||||||
path = "datastore"
|
|
||||||
type = "levelds"
|
|
||||||
}
|
|
||||||
mountpoint = "/"
|
|
||||||
type = "measure"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
type = "mount"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Discovery {
|
|
||||||
MDNS = new {
|
|
||||||
Enabled = true
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Experimental {
|
|
||||||
StrategicProviding = false
|
|
||||||
UrlstoreEnabled = false
|
|
||||||
AcceleratedDHTClient = false
|
|
||||||
GraphsyncEnabled = false
|
|
||||||
FilestoreEnabled = false
|
|
||||||
Libp2pStreamMounting = false
|
|
||||||
P2pHttpProxy = false
|
|
||||||
}
|
|
||||||
|
|
||||||
Gateway {
|
|
||||||
HTTPHeaders = new {
|
|
||||||
`Access-Control-Allow-Headers` = new {
|
|
||||||
"X-Requested-With"
|
|
||||||
"Range"
|
|
||||||
"User-Agent"
|
|
||||||
}
|
|
||||||
`Access-Control-Allow-Methods` = new { "GET" }
|
|
||||||
`Access-Control-Allow-Origin` = new { "*" }
|
|
||||||
}
|
|
||||||
NoDNSLink = false
|
|
||||||
NoFetch = false
|
|
||||||
PublicGateways = null
|
|
||||||
RootRedirect = ""
|
|
||||||
Writable = false
|
|
||||||
}
|
|
||||||
|
|
||||||
Identity {
|
|
||||||
PrivKey = "CAESQP0FRhYf5Nvxg0wrbN+VTK7kWdgy+3AKoxU3vNH0K9FHVpXyx6/mHKyCaPjqI11YsHUW0B2ZODGROPafyS6IeWY="
|
|
||||||
PeerID = "12D3KooWFeMr1tHFs8WAF11rKDULJbmKg9rE5aVhYJU23oC7pqjB"
|
|
||||||
}
|
|
||||||
|
|
||||||
Ipns {
|
|
||||||
RecordLifetime = ""
|
|
||||||
RepublishPeriod = ""
|
|
||||||
ResolveCacheSize = 128
|
|
||||||
}
|
|
||||||
|
|
||||||
Migration {
|
|
||||||
Keep = ""
|
|
||||||
}
|
|
||||||
|
|
||||||
Mounts {
|
|
||||||
IPNS = "/ipns"
|
|
||||||
FuseAllowOther = false
|
|
||||||
IPFS = "/ipfs"
|
|
||||||
}
|
|
||||||
|
|
||||||
Peering {
|
|
||||||
Peers = new {
|
|
||||||
new {
|
|
||||||
Addrs = new { "/dnsaddr/node-1.ingress.cloudflare-ipfs.com" }
|
|
||||||
ID = "QmcFf2FH3CEgTNHeMRGhN7HNHU1EXAxoEk6EFuSyXCsvRE"
|
|
||||||
}
|
|
||||||
new {
|
|
||||||
Addrs = new { "/dnsaddr/node-2.ingress.cloudflare-ipfs.com" }
|
|
||||||
ID = "QmcFmLd5ySfk2WZuJ1mfSWLDjdmHZq7rSAua4GoeSQfs1z"
|
|
||||||
}
|
|
||||||
new {
|
|
||||||
Addrs = new { "/dnsaddr/node-3.ingress.cloudflare-ipfs.com" }
|
|
||||||
ID = "QmcfFmzSDVbwexQ9Au2pt5YEXHK5xajwgaU6PpkbLWerMa"
|
|
||||||
}
|
|
||||||
new {
|
|
||||||
Addrs = new { "/dnsaddr/node-4.ingress.cloudflare-ipfs.com" }
|
|
||||||
ID = "QmcfJeB3Js1FG7T8YaZATEiaHqNKVdQfybYYkbT1knUswx"
|
|
||||||
}
|
|
||||||
new {
|
|
||||||
Addrs = new { "/dnsaddr/node-5.ingress.cloudflare-ipfs.com" }
|
|
||||||
ID = "QmcfVvzK4tMdFmpJjEKDUoqRgP4W9FnmJoziYX5GXJJ8eZ"
|
|
||||||
}
|
|
||||||
new {
|
|
||||||
Addrs = new { "/dnsaddr/node-6.ingress.cloudflare-ipfs.com" }
|
|
||||||
ID = "QmcfZD3VKrUxyP9BbyUnZDpbqDnT7cQ4WjPP8TRLXaoE7G"
|
|
||||||
}
|
|
||||||
new {
|
|
||||||
Addrs = new { "/dnsaddr/node-7.ingress.cloudflare-ipfs.com" }
|
|
||||||
ID = "QmcfZP2LuW4jxviTeG8fi28qjnZScACb8PEgHAc17ZEri3"
|
|
||||||
}
|
|
||||||
new {
|
|
||||||
Addrs = new { "/dnsaddr/node-8.ingress.cloudflare-ipfs.com" }
|
|
||||||
ID = "QmcfgsJsMtx6qJb74akCw1M24X1zFwgGo11h1cuhwQjtJP"
|
|
||||||
}
|
|
||||||
new {
|
|
||||||
Addrs = new { "/dnsaddr/node-9.ingress.cloudflare-ipfs.com" }
|
|
||||||
ID = "Qmcfr2FC7pFzJbTSDfYaSy1J8Uuy8ccGLeLyqJCKJvTHMi"
|
|
||||||
}
|
|
||||||
new {
|
|
||||||
Addrs = new { "/dnsaddr/node-10.ingress.cloudflare-ipfs.com" }
|
|
||||||
ID = "QmcfR3V5YAtHBzxVACWCzXTt26SyEkxdwhGJ6875A8BuWx"
|
|
||||||
}
|
|
||||||
new {
|
|
||||||
Addrs = new { "/dnsaddr/node-11.ingress.cloudflare-ipfs.com" }
|
|
||||||
ID = "Qmcfuo1TM9uUiJp6dTbm915Rf1aTqm3a3dnmCdDQLHgvL5"
|
|
||||||
}
|
|
||||||
new {
|
|
||||||
Addrs = new { "/dnsaddr/node-12.ingress.cloudflare-ipfs.com" }
|
|
||||||
ID = "QmcfV2sg9zaq7UUHVCGuSvT2M2rnLBAPsiE79vVyK3Cuev"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
|
|
||||||
Provider {
|
|
||||||
Strategy = ""
|
|
||||||
}
|
|
||||||
|
|
||||||
Pubsub {
|
|
||||||
Router = ""
|
|
||||||
DisableSigning = false
|
|
||||||
}
|
|
||||||
|
|
||||||
Reprovider {
|
|
||||||
Strategy = "all"
|
|
||||||
Interval = "12h"
|
|
||||||
}
|
|
||||||
|
|
||||||
Routing {
|
|
||||||
Methods = null
|
|
||||||
Routers = null
|
|
||||||
Type = "dht"
|
|
||||||
}
|
|
||||||
|
|
||||||
Swarm {
|
|
||||||
AddrFilters = null
|
|
||||||
ConnMgr = new {}
|
|
||||||
DisableBandwidthMetrics = false
|
|
||||||
DisableNatPortMap = false
|
|
||||||
RelayClient = new {}
|
|
||||||
ResourceMgr = new {}
|
|
||||||
Transports = new {
|
|
||||||
Multiplexers = new {}
|
|
||||||
Network = new {}
|
|
||||||
Security = new {}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,3 +0,0 @@
|
|||||||
amends "https://pkl.sh/sonr.chain/0.0.2/App.pkl"
|
|
||||||
|
|
||||||
|
|
@ -1,3 +0,0 @@
|
|||||||
amends "https://pkl.sh/sonr.chain/0.0.2/Genesis.pkl"
|
|
||||||
|
|
||||||
|
|
@ -1,404 +0,0 @@
|
|||||||
{
|
|
||||||
"lockfile_version": "1",
|
|
||||||
"packages": {
|
|
||||||
"bun@latest": {
|
|
||||||
"last_modified": "2024-11-18T00:41:09Z",
|
|
||||||
"resolved": "github:NixOS/nixpkgs/5083ec887760adfe12af64830a66807423a859a7#bun",
|
|
||||||
"source": "devbox-search",
|
|
||||||
"version": "1.1.34",
|
|
||||||
"systems": {
|
|
||||||
"aarch64-darwin": {
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "out",
|
|
||||||
"path": "/nix/store/xnj00gq1mfffvgyisghk4m9f38gc5c5c-bun-1.1.34",
|
|
||||||
"default": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"store_path": "/nix/store/xnj00gq1mfffvgyisghk4m9f38gc5c5c-bun-1.1.34"
|
|
||||||
},
|
|
||||||
"aarch64-linux": {
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "out",
|
|
||||||
"path": "/nix/store/kccpzv8fb7swmmxbhv805qzq242rhy33-bun-1.1.34",
|
|
||||||
"default": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"store_path": "/nix/store/kccpzv8fb7swmmxbhv805qzq242rhy33-bun-1.1.34"
|
|
||||||
},
|
|
||||||
"x86_64-darwin": {
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "out",
|
|
||||||
"path": "/nix/store/8h5k3l4fpgs3al2wvna7x9ybyyc8k36d-bun-1.1.34",
|
|
||||||
"default": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"store_path": "/nix/store/8h5k3l4fpgs3al2wvna7x9ybyyc8k36d-bun-1.1.34"
|
|
||||||
},
|
|
||||||
"x86_64-linux": {
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "out",
|
|
||||||
"path": "/nix/store/x089g4srqw71w5jnc87vxbh7m12498i0-bun-1.1.34",
|
|
||||||
"default": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"store_path": "/nix/store/x089g4srqw71w5jnc87vxbh7m12498i0-bun-1.1.34"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"cloudflared@latest": {
|
|
||||||
"last_modified": "2024-11-18T00:41:09Z",
|
|
||||||
"resolved": "github:NixOS/nixpkgs/5083ec887760adfe12af64830a66807423a859a7#cloudflared",
|
|
||||||
"source": "devbox-search",
|
|
||||||
"version": "2024.11.0",
|
|
||||||
"systems": {
|
|
||||||
"aarch64-darwin": {
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "out",
|
|
||||||
"path": "/nix/store/95knk04xlh78swlk9a6kg524rfykzzmz-cloudflared-2024.11.0",
|
|
||||||
"default": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"store_path": "/nix/store/95knk04xlh78swlk9a6kg524rfykzzmz-cloudflared-2024.11.0"
|
|
||||||
},
|
|
||||||
"aarch64-linux": {
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "out",
|
|
||||||
"path": "/nix/store/2d6mh1pi99m19bc9m3phcsfgygbfpyig-cloudflared-2024.11.0",
|
|
||||||
"default": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"store_path": "/nix/store/2d6mh1pi99m19bc9m3phcsfgygbfpyig-cloudflared-2024.11.0"
|
|
||||||
},
|
|
||||||
"x86_64-darwin": {
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "out",
|
|
||||||
"path": "/nix/store/4dii539ldfv0f9n7xigfy19ivrg3ng2n-cloudflared-2024.11.0",
|
|
||||||
"default": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"store_path": "/nix/store/4dii539ldfv0f9n7xigfy19ivrg3ng2n-cloudflared-2024.11.0"
|
|
||||||
},
|
|
||||||
"x86_64-linux": {
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "out",
|
|
||||||
"path": "/nix/store/hlnabpfi58mpd16symqb7kp8xc2lf1pf-cloudflared-2024.11.0",
|
|
||||||
"default": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"store_path": "/nix/store/hlnabpfi58mpd16symqb7kp8xc2lf1pf-cloudflared-2024.11.0"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"go@1.23": {
|
|
||||||
"last_modified": "2024-11-16T04:25:12Z",
|
|
||||||
"resolved": "github:NixOS/nixpkgs/34a626458d686f1b58139620a8b2793e9e123bba#go",
|
|
||||||
"source": "devbox-search",
|
|
||||||
"version": "1.23.3",
|
|
||||||
"systems": {
|
|
||||||
"aarch64-darwin": {
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "out",
|
|
||||||
"path": "/nix/store/qrj2wp6vzfpjfrrlcmr22818zg83fb73-go-1.23.3",
|
|
||||||
"default": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"store_path": "/nix/store/qrj2wp6vzfpjfrrlcmr22818zg83fb73-go-1.23.3"
|
|
||||||
},
|
|
||||||
"aarch64-linux": {
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "out",
|
|
||||||
"path": "/nix/store/dm66qyl19skrwcmk4rb9xcs64xc1d071-go-1.23.3",
|
|
||||||
"default": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"store_path": "/nix/store/dm66qyl19skrwcmk4rb9xcs64xc1d071-go-1.23.3"
|
|
||||||
},
|
|
||||||
"x86_64-darwin": {
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "out",
|
|
||||||
"path": "/nix/store/vkjn6njpz4gy5ma763vh8hh93bgjwycr-go-1.23.3",
|
|
||||||
"default": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"store_path": "/nix/store/vkjn6njpz4gy5ma763vh8hh93bgjwycr-go-1.23.3"
|
|
||||||
},
|
|
||||||
"x86_64-linux": {
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "out",
|
|
||||||
"path": "/nix/store/bavnchxi7v6xs077jxv7fl5rrqc3y87w-go-1.23.3",
|
|
||||||
"default": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"store_path": "/nix/store/bavnchxi7v6xs077jxv7fl5rrqc3y87w-go-1.23.3"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"ipfs@latest": {
|
|
||||||
"last_modified": "2023-02-24T09:01:09Z",
|
|
||||||
"resolved": "github:NixOS/nixpkgs/7d0ed7f2e5aea07ab22ccb338d27fbe347ed2f11#ipfs",
|
|
||||||
"source": "devbox-search",
|
|
||||||
"version": "0.17.0"
|
|
||||||
},
|
|
||||||
"matrix-synapse@latest": {
|
|
||||||
"last_modified": "2024-11-18T00:41:09Z",
|
|
||||||
"resolved": "github:NixOS/nixpkgs/5083ec887760adfe12af64830a66807423a859a7#matrix-synapse",
|
|
||||||
"source": "devbox-search",
|
|
||||||
"version": "1.119.0",
|
|
||||||
"systems": {
|
|
||||||
"aarch64-linux": {
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "out",
|
|
||||||
"path": "/nix/store/dfgj6lgmxy18qd5v9z91376i0b1z06jx-matrix-synapse-wrapped-1.119.0",
|
|
||||||
"default": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"store_path": "/nix/store/dfgj6lgmxy18qd5v9z91376i0b1z06jx-matrix-synapse-wrapped-1.119.0"
|
|
||||||
},
|
|
||||||
"x86_64-linux": {
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "out",
|
|
||||||
"path": "/nix/store/570l35c4n3qdxaszrf6bz4rrrw87pkil-matrix-synapse-wrapped-1.119.0",
|
|
||||||
"default": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"store_path": "/nix/store/570l35c4n3qdxaszrf6bz4rrrw87pkil-matrix-synapse-wrapped-1.119.0"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"postgresql@latest": {
|
|
||||||
"last_modified": "2024-11-22T01:27:12Z",
|
|
||||||
"plugin_version": "0.0.2",
|
|
||||||
"resolved": "github:NixOS/nixpkgs/8edf06bea5bcbee082df1b7369ff973b91618b8d#postgresql",
|
|
||||||
"source": "devbox-search",
|
|
||||||
"version": "16.4",
|
|
||||||
"systems": {
|
|
||||||
"aarch64-darwin": {
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "out",
|
|
||||||
"path": "/nix/store/j6n9b877yhrnkp9z9p1gllxpnfvdrbrb-postgresql-16.4",
|
|
||||||
"default": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "man",
|
|
||||||
"path": "/nix/store/465icqyw6m38jxpx5yr1ri26ki0f96sz-postgresql-16.4-man",
|
|
||||||
"default": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "lib",
|
|
||||||
"path": "/nix/store/l9w6d22hrcrxkv005g2gbzhvk64vp4rm-postgresql-16.4-lib"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "dev",
|
|
||||||
"path": "/nix/store/jvw9nsblsbh9m4n551sq7qnw82hhsv08-postgresql-16.4-dev"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "doc",
|
|
||||||
"path": "/nix/store/fk1x8k1qsiaasp73qnzyrzw4ylaf1xy6-postgresql-16.4-doc"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"store_path": "/nix/store/j6n9b877yhrnkp9z9p1gllxpnfvdrbrb-postgresql-16.4"
|
|
||||||
},
|
|
||||||
"aarch64-linux": {
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "out",
|
|
||||||
"path": "/nix/store/2ywn472iqfdiyw5w4frm63rn3nyrkgn1-postgresql-16.4",
|
|
||||||
"default": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "man",
|
|
||||||
"path": "/nix/store/650fqsb195p9x00jgqgzkisjwddbvgfd-postgresql-16.4-man",
|
|
||||||
"default": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "debug",
|
|
||||||
"path": "/nix/store/wm34pd2y04mjgvhanqw4ymmhds56l9da-postgresql-16.4-debug"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "dev",
|
|
||||||
"path": "/nix/store/ai2ckvi44jdh9i5078gj5brdwsxk4ydm-postgresql-16.4-dev"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "doc",
|
|
||||||
"path": "/nix/store/qys6z2y4iwr0f6ahpq9gcv9hb551w479-postgresql-16.4-doc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "lib",
|
|
||||||
"path": "/nix/store/pii1vyxbzggi7aqy7xglav8p52c0qfp2-postgresql-16.4-lib"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"store_path": "/nix/store/2ywn472iqfdiyw5w4frm63rn3nyrkgn1-postgresql-16.4"
|
|
||||||
},
|
|
||||||
"x86_64-darwin": {
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "out",
|
|
||||||
"path": "/nix/store/5k1p2jjnsdcsvk8zpsqxlzhajh1x9ghq-postgresql-16.4",
|
|
||||||
"default": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "man",
|
|
||||||
"path": "/nix/store/p8b24icm7xiwlky1dggqcinn1ah92agl-postgresql-16.4-man",
|
|
||||||
"default": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "dev",
|
|
||||||
"path": "/nix/store/cvl9wdw387jk02bbhm1qvidzl18hayyr-postgresql-16.4-dev"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "doc",
|
|
||||||
"path": "/nix/store/ysmwxhh3s2l1k2jkzxq0bv6vdzlgr14j-postgresql-16.4-doc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "lib",
|
|
||||||
"path": "/nix/store/4va0gp1c718dk1zyqs0il2gn7a81spr0-postgresql-16.4-lib"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"store_path": "/nix/store/5k1p2jjnsdcsvk8zpsqxlzhajh1x9ghq-postgresql-16.4"
|
|
||||||
},
|
|
||||||
"x86_64-linux": {
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "out",
|
|
||||||
"path": "/nix/store/ypx0whdqvwbql73nija0zrm4z3rgcm9l-postgresql-16.4",
|
|
||||||
"default": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "man",
|
|
||||||
"path": "/nix/store/7x75jfmpc7x36863cf6kr61ikcz787ki-postgresql-16.4-man",
|
|
||||||
"default": true
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "doc",
|
|
||||||
"path": "/nix/store/4c7h8sg2i0jim6hzmzhjw5nn0zmx1xvd-postgresql-16.4-doc"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "lib",
|
|
||||||
"path": "/nix/store/xd8ks7bs2p7gjgk8h98bfg8801swl9m0-postgresql-16.4-lib"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "debug",
|
|
||||||
"path": "/nix/store/pxhd0wq2sbafamjmcp7f890qza76gwav-postgresql-16.4-debug"
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"name": "dev",
|
|
||||||
"path": "/nix/store/20i6jma3fbm4sw060hdnrs311fw4aczj-postgresql-16.4-dev"
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"store_path": "/nix/store/ypx0whdqvwbql73nija0zrm4z3rgcm9l-postgresql-16.4"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"skate@latest": {
|
|
||||||
"last_modified": "2024-11-16T04:25:12Z",
|
|
||||||
"resolved": "github:NixOS/nixpkgs/34a626458d686f1b58139620a8b2793e9e123bba#skate",
|
|
||||||
"source": "devbox-search",
|
|
||||||
"version": "1.0.0",
|
|
||||||
"systems": {
|
|
||||||
"aarch64-darwin": {
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "out",
|
|
||||||
"path": "/nix/store/q6yhpyfbqiabyic6ymx5rp2db62bnbvr-skate-1.0.0",
|
|
||||||
"default": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"store_path": "/nix/store/q6yhpyfbqiabyic6ymx5rp2db62bnbvr-skate-1.0.0"
|
|
||||||
},
|
|
||||||
"aarch64-linux": {
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "out",
|
|
||||||
"path": "/nix/store/q55dbgvc4xwvr2g02dks6j2j699qni2k-skate-1.0.0",
|
|
||||||
"default": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"store_path": "/nix/store/q55dbgvc4xwvr2g02dks6j2j699qni2k-skate-1.0.0"
|
|
||||||
},
|
|
||||||
"x86_64-darwin": {
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "out",
|
|
||||||
"path": "/nix/store/s1hy525y8ciya3nrns9kryy3jlcw8igv-skate-1.0.0",
|
|
||||||
"default": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"store_path": "/nix/store/s1hy525y8ciya3nrns9kryy3jlcw8igv-skate-1.0.0"
|
|
||||||
},
|
|
||||||
"x86_64-linux": {
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "out",
|
|
||||||
"path": "/nix/store/8s03iazymz77nv6pjxpz7wair0m646wv-skate-1.0.0",
|
|
||||||
"default": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"store_path": "/nix/store/8s03iazymz77nv6pjxpz7wair0m646wv-skate-1.0.0"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"tigerbeetle@latest": {
|
|
||||||
"last_modified": "2024-11-16T04:25:12Z",
|
|
||||||
"resolved": "github:NixOS/nixpkgs/34a626458d686f1b58139620a8b2793e9e123bba#tigerbeetle",
|
|
||||||
"source": "devbox-search",
|
|
||||||
"version": "0.16.12",
|
|
||||||
"systems": {
|
|
||||||
"aarch64-darwin": {
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "out",
|
|
||||||
"path": "/nix/store/mm3jzwf24p35afr55v7kl5a0h6962i6p-tigerbeetle-0.16.12",
|
|
||||||
"default": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"store_path": "/nix/store/mm3jzwf24p35afr55v7kl5a0h6962i6p-tigerbeetle-0.16.12"
|
|
||||||
},
|
|
||||||
"aarch64-linux": {
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "out",
|
|
||||||
"path": "/nix/store/4106973gg3crfxq0gwrgwn4hcx64mzyy-tigerbeetle-0.16.12",
|
|
||||||
"default": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"store_path": "/nix/store/4106973gg3crfxq0gwrgwn4hcx64mzyy-tigerbeetle-0.16.12"
|
|
||||||
},
|
|
||||||
"x86_64-darwin": {
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "out",
|
|
||||||
"path": "/nix/store/6lnwnr3mvdamm5lxjjqkaagw2pyqlq0a-tigerbeetle-0.16.12",
|
|
||||||
"default": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"store_path": "/nix/store/6lnwnr3mvdamm5lxjjqkaagw2pyqlq0a-tigerbeetle-0.16.12"
|
|
||||||
},
|
|
||||||
"x86_64-linux": {
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "out",
|
|
||||||
"path": "/nix/store/afrj2ph61xz0lh7f3d1g1d7v2rslbvny-tigerbeetle-0.16.12",
|
|
||||||
"default": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"store_path": "/nix/store/afrj2ph61xz0lh7f3d1g1d7v2rslbvny-tigerbeetle-0.16.12"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
}
|
|
@ -1,29 +0,0 @@
|
|||||||
version: "0.6"
|
|
||||||
|
|
||||||
processes:
|
|
||||||
ipfs:
|
|
||||||
namespace: testnet
|
|
||||||
command: "devbox run ipfs"
|
|
||||||
background: true
|
|
||||||
availability:
|
|
||||||
restart: never
|
|
||||||
max_restarts: 0
|
|
||||||
|
|
||||||
sonr:
|
|
||||||
namespace: testnet
|
|
||||||
background: true
|
|
||||||
command: "devbox run sonr"
|
|
||||||
restart: never
|
|
||||||
max_restarts: 1
|
|
||||||
depends:
|
|
||||||
- ipfs
|
|
||||||
|
|
||||||
hway:
|
|
||||||
namespace: testnet
|
|
||||||
background: true
|
|
||||||
command: "devbox run hway"
|
|
||||||
restart: never
|
|
||||||
max_restarts: 1
|
|
||||||
depends:
|
|
||||||
- ipfs
|
|
||||||
- sonr
|
|
@ -1,85 +0,0 @@
|
|||||||
/*
|
|
||||||
This file defines the database schema for the PostgresQL ("psql") event sink
|
|
||||||
implementation in CometBFT. The operator must create a database and install
|
|
||||||
this schema before using the database to index events.
|
|
||||||
*/
|
|
||||||
|
|
||||||
-- The blocks table records metadata about each block.
|
|
||||||
-- The block record does not include its events or transactions (see tx_results).
|
|
||||||
CREATE TABLE blocks (
|
|
||||||
rowid BIGSERIAL PRIMARY KEY,
|
|
||||||
|
|
||||||
height BIGINT NOT NULL,
|
|
||||||
chain_id VARCHAR NOT NULL,
|
|
||||||
|
|
||||||
-- When this block header was logged into the sink, in UTC.
|
|
||||||
created_at TIMESTAMPTZ NOT NULL,
|
|
||||||
|
|
||||||
UNIQUE (height, chain_id)
|
|
||||||
);
|
|
||||||
|
|
||||||
-- Index blocks by height and chain, since we need to resolve block IDs when
|
|
||||||
-- indexing transaction records and transaction events.
|
|
||||||
CREATE INDEX idx_blocks_height_chain ON blocks(height, chain_id);
|
|
||||||
|
|
||||||
-- The tx_results table records metadata about transaction results. Note that
|
|
||||||
-- the events from a transaction are stored separately.
|
|
||||||
CREATE TABLE tx_results (
|
|
||||||
rowid BIGSERIAL PRIMARY KEY,
|
|
||||||
|
|
||||||
-- The block to which this transaction belongs.
|
|
||||||
block_id BIGINT NOT NULL REFERENCES blocks(rowid),
|
|
||||||
-- The sequential index of the transaction within the block.
|
|
||||||
index INTEGER NOT NULL,
|
|
||||||
-- When this result record was logged into the sink, in UTC.
|
|
||||||
created_at TIMESTAMPTZ NOT NULL,
|
|
||||||
-- The hex-encoded hash of the transaction.
|
|
||||||
tx_hash VARCHAR NOT NULL,
|
|
||||||
-- The protobuf wire encoding of the TxResult message.
|
|
||||||
tx_result BYTEA NOT NULL,
|
|
||||||
|
|
||||||
UNIQUE (block_id, index)
|
|
||||||
);
|
|
||||||
|
|
||||||
-- The events table records events. All events (both block and transaction) are
|
|
||||||
-- associated with a block ID; transaction events also have a transaction ID.
|
|
||||||
CREATE TABLE events (
|
|
||||||
rowid BIGSERIAL PRIMARY KEY,
|
|
||||||
|
|
||||||
-- The block and transaction this event belongs to.
|
|
||||||
-- If tx_id is NULL, this is a block event.
|
|
||||||
block_id BIGINT NOT NULL REFERENCES blocks(rowid),
|
|
||||||
tx_id BIGINT NULL REFERENCES tx_results(rowid),
|
|
||||||
|
|
||||||
-- The application-defined type label for the event.
|
|
||||||
type VARCHAR NOT NULL
|
|
||||||
);
|
|
||||||
|
|
||||||
-- The attributes table records event attributes.
|
|
||||||
CREATE TABLE attributes (
|
|
||||||
event_id BIGINT NOT NULL REFERENCES events(rowid),
|
|
||||||
key VARCHAR NOT NULL, -- bare key
|
|
||||||
composite_key VARCHAR NOT NULL, -- composed type.key
|
|
||||||
value VARCHAR NULL,
|
|
||||||
|
|
||||||
UNIQUE (event_id, key)
|
|
||||||
);
|
|
||||||
|
|
||||||
-- A joined view of events and their attributes. Events that do not have any
|
|
||||||
-- attributes are represented as a single row with empty key and value fields.
|
|
||||||
CREATE VIEW event_attributes AS
|
|
||||||
SELECT block_id, tx_id, type, key, composite_key, value
|
|
||||||
FROM events LEFT JOIN attributes ON (events.rowid = attributes.event_id);
|
|
||||||
|
|
||||||
-- A joined view of all block events (those having tx_id NULL).
|
|
||||||
CREATE VIEW block_events AS
|
|
||||||
SELECT blocks.rowid as block_id, height, chain_id, type, key, composite_key, value
|
|
||||||
FROM blocks JOIN event_attributes ON (blocks.rowid = event_attributes.block_id)
|
|
||||||
WHERE event_attributes.tx_id IS NULL;
|
|
||||||
|
|
||||||
-- A joined view of all transaction events.
|
|
||||||
CREATE VIEW tx_events AS
|
|
||||||
SELECT height, index, chain_id, type, key, composite_key, value, tx_results.created_at
|
|
||||||
FROM blocks JOIN tx_results ON (blocks.rowid = tx_results.block_id)
|
|
||||||
JOIN event_attributes ON (tx_results.rowid = event_attributes.tx_id)
|
|
||||||
WHERE event_attributes.tx_id IS NOT NULL;
|
|
35
devbox.json
35
devbox.json
@ -1,13 +1,9 @@
|
|||||||
{
|
{
|
||||||
"$schema": "https://raw.githubusercontent.com/jetify-com/devbox/0.12.0/.schema/devbox.schema.json",
|
"$schema": "https://raw.githubusercontent.com/jetify-com/devbox/0.12.0/.schema/devbox.schema.json",
|
||||||
"packages": [
|
"packages": [
|
||||||
"go@1.22",
|
|
||||||
"bun@latest",
|
"bun@latest",
|
||||||
"gum@latest",
|
"gum@latest",
|
||||||
"ipfs@latest",
|
|
||||||
"skate@latest",
|
"skate@latest",
|
||||||
"air@latest",
|
|
||||||
"go-task@latest",
|
|
||||||
"templ@latest",
|
"templ@latest",
|
||||||
"tigerbeetle@latest",
|
"tigerbeetle@latest",
|
||||||
"process-compose@latest"
|
"process-compose@latest"
|
||||||
@ -26,39 +22,16 @@
|
|||||||
"ACC1_ADDRESS": "idx1hj5fveer5cjtn4wd6wstzugjfdxzl0xpecp0nd",
|
"ACC1_ADDRESS": "idx1hj5fveer5cjtn4wd6wstzugjfdxzl0xpecp0nd",
|
||||||
"ACC0_MNEMONIC": "$(skate get ACC0_MNEMONIC)",
|
"ACC0_MNEMONIC": "$(skate get ACC0_MNEMONIC)",
|
||||||
"ACC1_MNEMONIC": "$(skate get ACC1_MNEMONIC)",
|
"ACC1_MNEMONIC": "$(skate get ACC1_MNEMONIC)",
|
||||||
"TUNNEL_TOKEN": "$(skate get CLOUDFLARE_TUNNEL_TOKEN)",
|
|
||||||
"TURNSTILE_SITE_KEY": "$(skate get TURNSTILE_SITE_KEY)",
|
"TURNSTILE_SITE_KEY": "$(skate get TURNSTILE_SITE_KEY)",
|
||||||
"TEMPL_EXPERIMENT": "rawgo",
|
|
||||||
"PC_NO_SERVER": "true",
|
"PC_NO_SERVER": "true",
|
||||||
"PC_LOG_FILE": "./sonr.log"
|
"PC_LOG_FILE": "./sonr.log"
|
||||||
},
|
},
|
||||||
"shell": {
|
"shell": {
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"deploy": [
|
"start": ["process-compose up --hide-disabled"],
|
||||||
"gum spin --title='Generating PKL' -- make pkl-gen",
|
"start:detached": ["process-compose up --detached --hide-disabled"],
|
||||||
"gum spin --title='Building Motr WASM' -- make motr-build",
|
"attach": ["process-compose attach"],
|
||||||
"gum spin --title='Uploading to Bucket' -- make deploy-cdn"
|
"stop": ["process-compose down "]
|
||||||
],
|
|
||||||
"devnet:start": [
|
|
||||||
"process-compose up -f deploy/devnet/process-compose.yaml"
|
|
||||||
],
|
|
||||||
"devnet:attach": [
|
|
||||||
"cd deploy/devnet",
|
|
||||||
"process-compose attach"
|
|
||||||
],
|
|
||||||
"devnet:stop": [
|
|
||||||
"cd deploy/devnet",
|
|
||||||
"process-compose down "
|
|
||||||
],
|
|
||||||
"testnet:start": [
|
|
||||||
"process-compose up -f deploy/testnet/process-compose.yaml --detached --hide-disabled"
|
|
||||||
],
|
|
||||||
"testnet:stop": [
|
|
||||||
"process-compose down -f deploy/testnet/process-compose.yaml --remove-orphans"
|
|
||||||
],
|
|
||||||
"testnet:restart": [
|
|
||||||
"process-compose restart -f deploy/testnet/process-compose.yaml --remove-orphans"
|
|
||||||
]
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
150
devbox.lock
150
devbox.lock
@ -1,54 +1,6 @@
|
|||||||
{
|
{
|
||||||
"lockfile_version": "1",
|
"lockfile_version": "1",
|
||||||
"packages": {
|
"packages": {
|
||||||
"air@latest": {
|
|
||||||
"last_modified": "2024-11-28T07:51:56Z",
|
|
||||||
"resolved": "github:NixOS/nixpkgs/226216574ada4c3ecefcbbec41f39ce4655f78ef#air",
|
|
||||||
"source": "devbox-search",
|
|
||||||
"version": "1.61.1",
|
|
||||||
"systems": {
|
|
||||||
"aarch64-darwin": {
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "out",
|
|
||||||
"path": "/nix/store/0s90vbnmsyyixs0991md21pbrw8babfb-air-1.61.1",
|
|
||||||
"default": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"store_path": "/nix/store/0s90vbnmsyyixs0991md21pbrw8babfb-air-1.61.1"
|
|
||||||
},
|
|
||||||
"aarch64-linux": {
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "out",
|
|
||||||
"path": "/nix/store/8mpw2asxs297v26fxqy2y1bq438f344l-air-1.61.1",
|
|
||||||
"default": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"store_path": "/nix/store/8mpw2asxs297v26fxqy2y1bq438f344l-air-1.61.1"
|
|
||||||
},
|
|
||||||
"x86_64-darwin": {
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "out",
|
|
||||||
"path": "/nix/store/abminkf7ldqf9vm14xx5wvsrdx3wrvy6-air-1.61.1",
|
|
||||||
"default": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"store_path": "/nix/store/abminkf7ldqf9vm14xx5wvsrdx3wrvy6-air-1.61.1"
|
|
||||||
},
|
|
||||||
"x86_64-linux": {
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "out",
|
|
||||||
"path": "/nix/store/ajx8v5rbbvglncb97yybg3x9kn95gfrm-air-1.61.1",
|
|
||||||
"default": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"store_path": "/nix/store/ajx8v5rbbvglncb97yybg3x9kn95gfrm-air-1.61.1"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"bun@latest": {
|
"bun@latest": {
|
||||||
"last_modified": "2024-11-26T10:33:56Z",
|
"last_modified": "2024-11-26T10:33:56Z",
|
||||||
"resolved": "github:NixOS/nixpkgs/af51545ec9a44eadf3fe3547610a5cdd882bc34e#bun",
|
"resolved": "github:NixOS/nixpkgs/af51545ec9a44eadf3fe3547610a5cdd882bc34e#bun",
|
||||||
@ -97,102 +49,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"go-task@latest": {
|
|
||||||
"last_modified": "2024-11-28T07:51:56Z",
|
|
||||||
"resolved": "github:NixOS/nixpkgs/226216574ada4c3ecefcbbec41f39ce4655f78ef#go-task",
|
|
||||||
"source": "devbox-search",
|
|
||||||
"version": "3.40.0",
|
|
||||||
"systems": {
|
|
||||||
"aarch64-darwin": {
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "out",
|
|
||||||
"path": "/nix/store/ynnx5bghcar86a89026rdysvpf51b2li-go-task-3.40.0",
|
|
||||||
"default": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"store_path": "/nix/store/ynnx5bghcar86a89026rdysvpf51b2li-go-task-3.40.0"
|
|
||||||
},
|
|
||||||
"aarch64-linux": {
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "out",
|
|
||||||
"path": "/nix/store/2ga7yc7nn0k01n2w3wa6fjbp0i31r6d6-go-task-3.40.0",
|
|
||||||
"default": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"store_path": "/nix/store/2ga7yc7nn0k01n2w3wa6fjbp0i31r6d6-go-task-3.40.0"
|
|
||||||
},
|
|
||||||
"x86_64-darwin": {
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "out",
|
|
||||||
"path": "/nix/store/0fc73lrh98s9i7qjsxk8gjddxam5kv76-go-task-3.40.0",
|
|
||||||
"default": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"store_path": "/nix/store/0fc73lrh98s9i7qjsxk8gjddxam5kv76-go-task-3.40.0"
|
|
||||||
},
|
|
||||||
"x86_64-linux": {
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "out",
|
|
||||||
"path": "/nix/store/x5pbyv5p0yj3fl77j4bmgcj8s7jjcjwn-go-task-3.40.0",
|
|
||||||
"default": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"store_path": "/nix/store/x5pbyv5p0yj3fl77j4bmgcj8s7jjcjwn-go-task-3.40.0"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"go@1.22": {
|
|
||||||
"last_modified": "2024-11-28T07:51:56Z",
|
|
||||||
"resolved": "github:NixOS/nixpkgs/226216574ada4c3ecefcbbec41f39ce4655f78ef#go_1_22",
|
|
||||||
"source": "devbox-search",
|
|
||||||
"version": "1.22.9",
|
|
||||||
"systems": {
|
|
||||||
"aarch64-darwin": {
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "out",
|
|
||||||
"path": "/nix/store/4nf51i4ah186y2jy3fad2fyvpa49qx6q-go-1.22.9",
|
|
||||||
"default": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"store_path": "/nix/store/4nf51i4ah186y2jy3fad2fyvpa49qx6q-go-1.22.9"
|
|
||||||
},
|
|
||||||
"aarch64-linux": {
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "out",
|
|
||||||
"path": "/nix/store/8w8vzwgp55yl8j1ljgm4wzdgjkvkv5v3-go-1.22.9",
|
|
||||||
"default": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"store_path": "/nix/store/8w8vzwgp55yl8j1ljgm4wzdgjkvkv5v3-go-1.22.9"
|
|
||||||
},
|
|
||||||
"x86_64-darwin": {
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "out",
|
|
||||||
"path": "/nix/store/vlih7j78ki05i8nvzdsxvws7a7ksq04m-go-1.22.9",
|
|
||||||
"default": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"store_path": "/nix/store/vlih7j78ki05i8nvzdsxvws7a7ksq04m-go-1.22.9"
|
|
||||||
},
|
|
||||||
"x86_64-linux": {
|
|
||||||
"outputs": [
|
|
||||||
{
|
|
||||||
"name": "out",
|
|
||||||
"path": "/nix/store/frc5188kgv3ws0n999c7cy5vi2f8k4jp-go-1.22.9",
|
|
||||||
"default": true
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"store_path": "/nix/store/frc5188kgv3ws0n999c7cy5vi2f8k4jp-go-1.22.9"
|
|
||||||
}
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"gum@latest": {
|
"gum@latest": {
|
||||||
"last_modified": "2024-11-16T04:25:12Z",
|
"last_modified": "2024-11-16T04:25:12Z",
|
||||||
"resolved": "github:NixOS/nixpkgs/34a626458d686f1b58139620a8b2793e9e123bba#gum",
|
"resolved": "github:NixOS/nixpkgs/34a626458d686f1b58139620a8b2793e9e123bba#gum",
|
||||||
@ -241,12 +97,6 @@
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"ipfs@latest": {
|
|
||||||
"last_modified": "2023-02-24T09:01:09Z",
|
|
||||||
"resolved": "github:NixOS/nixpkgs/7d0ed7f2e5aea07ab22ccb338d27fbe347ed2f11#ipfs",
|
|
||||||
"source": "devbox-search",
|
|
||||||
"version": "0.17.0"
|
|
||||||
},
|
|
||||||
"process-compose@latest": {
|
"process-compose@latest": {
|
||||||
"last_modified": "2024-11-28T07:51:56Z",
|
"last_modified": "2024-11-28T07:51:56Z",
|
||||||
"resolved": "github:NixOS/nixpkgs/226216574ada4c3ecefcbbec41f39ce4655f78ef#process-compose",
|
"resolved": "github:NixOS/nixpkgs/226216574ada4c3ecefcbbec41f39ce4655f78ef#process-compose",
|
||||||
|
@ -1,118 +0,0 @@
|
|||||||
<div class="splash">
|
|
||||||
<div class="splash-start">
|
|
||||||
<img class="splash-logo" src="/assets/images/wordmark.svg" alt="Shoelace">
|
|
||||||
|
|
||||||
# <sl-visually-hidden>Shoelace:</sl-visually-hidden> A forward-thinking library of web components.
|
|
||||||
|
|
||||||
- Works with all frameworks 🧩
|
|
||||||
- Works with CDNs 🚛
|
|
||||||
- Fully customizable with CSS 🎨
|
|
||||||
- Includes a dark theme 🌛
|
|
||||||
- Built with accessibility in mind ♿️
|
|
||||||
- First-class [React support](/frameworks/react) ⚛️
|
|
||||||
- Built-in localization 💬
|
|
||||||
- Open source 😸
|
|
||||||
- [More awesome than ever](https://blog.fontawesome.com/shoelace-joins-font-awesome/) 
|
|
||||||
|
|
||||||
</div>
|
|
||||||
<div class="splash-end">
|
|
||||||
<img class="splash-image" src="/assets/images/undraw-content-team.svg" alt="Cartoon of people assembling components while standing on a giant laptop.">
|
|
||||||
</div>
|
|
||||||
</div>
|
|
||||||
|
|
||||||
<div class="badges">
|
|
||||||
|
|
||||||
[](https://www.jsdelivr.com/package/npm/@shoelace-style/shoelace)
|
|
||||||
[](https://www.npmjs.com/package/@shoelace-style/shoelace)
|
|
||||||
[](https://github.com/shoelace-style/shoelace/blob/next/LICENSE.md)<br>
|
|
||||||
[](https://discord.gg/mg8f26C)
|
|
||||||
[](https://twitter.com/shoelace_style)
|
|
||||||
[](https://github.com/shoelace-style/shoelace)
|
|
||||||
|
|
||||||
</div>
|
|
||||||
|
|
||||||
## Quick Start
|
|
||||||
|
|
||||||
Add the following code to your page.
|
|
||||||
|
|
||||||
<!-- prettier-ignore -->
|
|
||||||
```html
|
|
||||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@shoelace-style/shoelace@%VERSION%/%CDNDIR%/themes/light.css" />
|
|
||||||
<script type="module" src="https://cdn.jsdelivr.net/npm/@shoelace-style/shoelace@%VERSION%/%CDNDIR%/shoelace-autoloader.js"></script>
|
|
||||||
```
|
|
||||||
|
|
||||||
Now you have access to all of Shoelace's components! Try adding a button:
|
|
||||||
|
|
||||||
```html:preview:expanded:no-codepen
|
|
||||||
<sl-button>Click me</sl-button>
|
|
||||||
```
|
|
||||||
|
|
||||||
:::tip
|
|
||||||
This will activate Shoelace's experimental autoloader, which registers components on the fly as you use them. To learn more about it, or for other ways to install Shoelace, refer to the [installation instructions](getting-started/installation).
|
|
||||||
:::
|
|
||||||
|
|
||||||
## New to Web Components?
|
|
||||||
|
|
||||||
**TL;DR** – we finally have a way to create [our own HTML elements](https://html.spec.whatwg.org/multipage/custom-elements.html) and use them in any framework we want!
|
|
||||||
|
|
||||||
Thanks to the popularity of frameworks such as Angular, Vue, and React, component-driven development has become a part of our every day lives. Components help us encapsulate styles and behaviors into reusable building blocks. They make a lot of sense in terms of design, development, and testing.
|
|
||||||
|
|
||||||
Unfortunately, _framework-specific_ components fail us in a number of ways:
|
|
||||||
|
|
||||||
- You can only use them in the framework they're designed for 🔒
|
|
||||||
- Their lifespan is limited to that of the framework's ⏳
|
|
||||||
- New frameworks/versions can lead to breaking changes, requiring substantial effort to update components 😭
|
|
||||||
|
|
||||||
Web components solve these problems. They're [supported by all modern browsers](https://caniuse.com/#feat=custom-elementsv1), they're framework-agnostic, and they're [part of the standard](https://developer.mozilla.org/en-US/docs/Web/Web_Components), so we know they'll be supported for many years to come.
|
|
||||||
|
|
||||||
This is the technology that Shoelace is built on.
|
|
||||||
|
|
||||||
## What Problem Does This Solve?
|
|
||||||
|
|
||||||
Shoelace provides a collection of professionally designed, highly customizable UI components built on a framework agnostic technology. Why spend hundreds of hours (or more) building a design system from scratch? Why make a component library that only works with one framework?
|
|
||||||
|
|
||||||
With Shoelace, you can:
|
|
||||||
|
|
||||||
- Start building things faster (no need to roll your own buttons)
|
|
||||||
- Build multiple apps with different frameworks that all share the same UI components
|
|
||||||
- Fully customize components to match your existing designs
|
|
||||||
- Incrementally adopt components as needed (no need to ditch your framework)
|
|
||||||
- Upgrade or switch frameworks without rebuilding foundational components
|
|
||||||
|
|
||||||
If your organization is looking to build a design system, [Shoelace will save you thousands of dollars](https://medium.com/eightshapes-llc/and-you-thought-buttons-were-easy-26eb5b5c1871). All the foundational components you need are right here, ready to be customized for your brand. And since it's built on web standards, browsers will continue to support it for many years to come.
|
|
||||||
|
|
||||||
Whether you use Shoelace as a starting point for your organization's design system or for a fun personal project, there's no limit to what you can do with it.
|
|
||||||
|
|
||||||
## Browser Support
|
|
||||||
|
|
||||||
Shoelace is tested in the latest two versions of the following browsers.
|
|
||||||
|
|
||||||
<img src="/assets/images/chrome.png" alt="Chrome" width="64" height="64">
|
|
||||||
<img src="/assets/images/edge.png" alt="Edge" width="64" height="64">
|
|
||||||
<img src="/assets/images/firefox.png" alt="Firefox" width="64" height="64">
|
|
||||||
<img src="/assets/images/opera.png" alt="Opera" width="64" height="64">
|
|
||||||
<img src="/assets/images/safari.png" alt="Safari" width="64" height="64">
|
|
||||||
|
|
||||||
Critical bug fixes in earlier versions will be addressed based on their severity and impact.
|
|
||||||
|
|
||||||
If you need to support IE11 or pre-Chromium Edge, this library isn't for you. Although web components can (to some degree) be polyfilled for legacy browsers, supporting them is outside the scope of this project. If you're using Shoelace in such a browser, you're gonna have a bad time. ⛷
|
|
||||||
|
|
||||||
## License
|
|
||||||
|
|
||||||
Shoelace was created in New Hampshire by [Cory LaViska](https://twitter.com/claviska). It's available under the terms of the [MIT license](https://github.com/shoelace-style/shoelace/blob/next/LICENSE.md).
|
|
||||||
|
|
||||||
## Attribution
|
|
||||||
|
|
||||||
Special thanks to the following projects and individuals that help make Shoelace possible.
|
|
||||||
|
|
||||||
- Components are built with [Lit](https://lit.dev/)
|
|
||||||
- Component metadata is generated by the [Custom Elements Manifest Analyzer](https://github.com/open-wc/custom-elements-manifest)
|
|
||||||
- Documentation is powered by [11ty](https://www.11ty.dev/)
|
|
||||||
- CDN services are provided by [jsDelivr](https://www.jsdelivr.com/)
|
|
||||||
- Color primitives are inspired by [Tailwind](https://tailwindcss.com/)
|
|
||||||
- Icons are courtesy of [Bootstrap Icons](https://icons.getbootstrap.com/)
|
|
||||||
- The homepage illustration is courtesy of [unDraw](https://undraw.co/)
|
|
||||||
- Positioning of dropdowns, tooltips, et al is handled by [Floating UI](https://floating-ui.com/)
|
|
||||||
- Animations are courtesy of [animate.css](https://animate.style/)
|
|
||||||
- Search is powered by [Lunr](https://lunrjs.com/)
|
|
||||||
- The Shoelace logo was designed with a single shoelace by [Adam K Olson](https://twitter.com/adamkolson)
|
|
1
docs/docs/foundations/index.md
Normal file
1
docs/docs/foundations/index.md
Normal file
@ -0,0 +1 @@
|
|||||||
|
# Sonr Blockchain
|
11
docs/docs/foundations/motr.md
Normal file
11
docs/docs/foundations/motr.md
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
<div style="text-align: center;">
|
||||||
|
|
||||||
|
# Page Not Found
|
||||||
|
|
||||||
|

|
||||||
|
|
||||||
|
The page you were looking for couldn't be found.
|
||||||
|
|
||||||
|
Press [[/]] to search, or [head back to the homepage](/).
|
||||||
|
|
||||||
|
</div>
|
@ -4,11 +4,9 @@ processes:
|
|||||||
sonr:
|
sonr:
|
||||||
namespace: devnet
|
namespace: devnet
|
||||||
command: "make sh-testnet"
|
command: "make sh-testnet"
|
||||||
max_restarts: 1
|
|
||||||
|
|
||||||
hway:
|
hway:
|
||||||
namespace: devnet
|
namespace: devnet
|
||||||
command: "./build/hway"
|
command: "./build/hway"
|
||||||
max_restarts: 1
|
|
||||||
depends:
|
depends:
|
||||||
- sonr
|
- sonr
|
24
scripts/import_skate.sh
Executable file
24
scripts/import_skate.sh
Executable file
@ -0,0 +1,24 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
export KEY="user1"
|
||||||
|
export KEY2="user2"
|
||||||
|
|
||||||
|
export CHAIN_ID=${CHAIN_ID:-"sonr-testnet-1"}
|
||||||
|
export MONIKER="florence"
|
||||||
|
export KEYALGO="secp256k1"
|
||||||
|
export KEYRING=${KEYRING:-"test"}
|
||||||
|
export HOME_DIR=$(eval echo "${HOME_DIR:-"~/.sonr"}")
|
||||||
|
export BINARY=${BINARY:-sonrd}
|
||||||
|
export DENOM=${DENOM:-usnr}
|
||||||
|
|
||||||
|
export CLEAN=${CLEAN:-"true"}
|
||||||
|
export RPC=${RPC:-"26657"}
|
||||||
|
export REST=${REST:-"1317"}
|
||||||
|
export PROFF=${PROFF:-"6969"}
|
||||||
|
export P2P=${P2P:-"26656"}
|
||||||
|
export GRPC=${GRPC:-"9090"}
|
||||||
|
export GRPC_WEB=${GRPC_WEB:-"9091"}
|
||||||
|
export ROSETTA=${ROSETTA:-"8420"}
|
||||||
|
export BLOCK_TIME=${BLOCK_TIME:-"5s"}
|
@ -124,6 +124,7 @@ from_scratch () {
|
|||||||
|
|
||||||
# check if CLEAN is not set to false
|
# check if CLEAN is not set to false
|
||||||
if [ "$CLEAN" != "false" ]; then
|
if [ "$CLEAN" != "false" ]; then
|
||||||
|
|
||||||
echo "Starting from a clean state"
|
echo "Starting from a clean state"
|
||||||
from_scratch
|
from_scratch
|
||||||
fi
|
fi
|
||||||
|
Loading…
x
Reference in New Issue
Block a user