mim-swarm 1.0.0
Sign up to get free protection for your applications and to get access to all the features.
- package/.idea/git_toolbox_prj.xml +15 -0
- package/.idea/ierc20-main.iml +9 -0
- package/.idea/modules.xml +8 -0
- package/.idea/vcs.xml +6 -0
- package/configs/config.yaml +5 -0
- package/go.mod +54 -0
- package/go.sum +171 -0
- package/main.go +217 -0
- package/models/config.go +8 -0
- package/package.json +65 -0
- package/tranpack.sh +81 -0
@@ -0,0 +1,15 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<project version="4">
|
3
|
+
<component name="GitToolBoxProjectSettings">
|
4
|
+
<option name="commitMessageIssueKeyValidationOverride">
|
5
|
+
<BoolValueOverride>
|
6
|
+
<option name="enabled" value="true" />
|
7
|
+
</BoolValueOverride>
|
8
|
+
</option>
|
9
|
+
<option name="commitMessageValidationEnabledOverride">
|
10
|
+
<BoolValueOverride>
|
11
|
+
<option name="enabled" value="true" />
|
12
|
+
</BoolValueOverride>
|
13
|
+
</option>
|
14
|
+
</component>
|
15
|
+
</project>
|
@@ -0,0 +1,9 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<module type="WEB_MODULE" version="4">
|
3
|
+
<component name="Go" enabled="true" />
|
4
|
+
<component name="NewModuleRootManager">
|
5
|
+
<content url="file://$MODULE_DIR$" />
|
6
|
+
<orderEntry type="inheritedJdk" />
|
7
|
+
<orderEntry type="sourceFolder" forTests="false" />
|
8
|
+
</component>
|
9
|
+
</module>
|
@@ -0,0 +1,8 @@
|
|
1
|
+
<?xml version="1.0" encoding="UTF-8"?>
|
2
|
+
<project version="4">
|
3
|
+
<component name="ProjectModuleManager">
|
4
|
+
<modules>
|
5
|
+
<module fileurl="file://$PROJECT_DIR$/.idea/ierc20-main.iml" filepath="$PROJECT_DIR$/.idea/ierc20-main.iml" />
|
6
|
+
</modules>
|
7
|
+
</component>
|
8
|
+
</project>
|
package/.idea/vcs.xml
ADDED
package/go.mod
ADDED
@@ -0,0 +1,54 @@
|
|
1
|
+
module ierc20
|
2
|
+
|
3
|
+
go 1.19
|
4
|
+
|
5
|
+
require (
|
6
|
+
github.com/ethereum/go-ethereum v1.13.10
|
7
|
+
github.com/joho/godotenv v1.5.1
|
8
|
+
github.com/spf13/viper v1.18.2
|
9
|
+
)
|
10
|
+
|
11
|
+
require (
|
12
|
+
github.com/Microsoft/go-winio v0.6.1 // indirect
|
13
|
+
github.com/StackExchange/wmi v1.2.1 // indirect
|
14
|
+
github.com/bits-and-blooms/bitset v1.10.0 // indirect
|
15
|
+
github.com/btcsuite/btcd/btcec/v2 v2.2.0 // indirect
|
16
|
+
github.com/consensys/bavard v0.1.13 // indirect
|
17
|
+
github.com/consensys/gnark-crypto v0.12.1 // indirect
|
18
|
+
github.com/crate-crypto/go-kzg-4844 v0.7.0 // indirect
|
19
|
+
github.com/deckarep/golang-set/v2 v2.1.0 // indirect
|
20
|
+
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1 // indirect
|
21
|
+
github.com/ethereum/c-kzg-4844 v0.4.0 // indirect
|
22
|
+
github.com/fsnotify/fsnotify v1.7.0 // indirect
|
23
|
+
github.com/go-ole/go-ole v1.2.5 // indirect
|
24
|
+
github.com/gorilla/websocket v1.4.2 // indirect
|
25
|
+
github.com/hashicorp/hcl v1.0.0 // indirect
|
26
|
+
github.com/holiman/uint256 v1.2.4 // indirect
|
27
|
+
github.com/magiconair/properties v1.8.7 // indirect
|
28
|
+
github.com/mitchellh/mapstructure v1.5.0 // indirect
|
29
|
+
github.com/mmcloughlin/addchain v0.4.0 // indirect
|
30
|
+
github.com/pelletier/go-toml/v2 v2.1.0 // indirect
|
31
|
+
github.com/sagikazarmark/locafero v0.4.0 // indirect
|
32
|
+
github.com/sagikazarmark/slog-shim v0.1.0 // indirect
|
33
|
+
github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible // indirect
|
34
|
+
github.com/sourcegraph/conc v0.3.0 // indirect
|
35
|
+
github.com/spf13/afero v1.11.0 // indirect
|
36
|
+
github.com/spf13/cast v1.6.0 // indirect
|
37
|
+
github.com/spf13/pflag v1.0.5 // indirect
|
38
|
+
github.com/subosito/gotenv v1.6.0 // indirect
|
39
|
+
github.com/supranational/blst v0.3.11 // indirect
|
40
|
+
github.com/tklauser/go-sysconf v0.3.12 // indirect
|
41
|
+
github.com/tklauser/numcpus v0.6.1 // indirect
|
42
|
+
go.uber.org/atomic v1.9.0 // indirect
|
43
|
+
go.uber.org/multierr v1.9.0 // indirect
|
44
|
+
golang.org/x/crypto v0.17.0 // indirect
|
45
|
+
golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa // indirect
|
46
|
+
golang.org/x/mod v0.14.0 // indirect
|
47
|
+
golang.org/x/sync v0.5.0 // indirect
|
48
|
+
golang.org/x/sys v0.15.0 // indirect
|
49
|
+
golang.org/x/text v0.14.0 // indirect
|
50
|
+
golang.org/x/tools v0.15.0 // indirect
|
51
|
+
gopkg.in/ini.v1 v1.67.0 // indirect
|
52
|
+
gopkg.in/yaml.v3 v3.0.1 // indirect
|
53
|
+
rsc.io/tmplfunc v0.0.3 // indirect
|
54
|
+
)
|
package/go.sum
ADDED
@@ -0,0 +1,171 @@
|
|
1
|
+
github.com/DataDog/zstd v1.4.5 h1:EndNeuB0l9syBZhut0wns3gV1hL8zX8LIu6ZiVHWLIQ=
|
2
|
+
github.com/Microsoft/go-winio v0.6.1 h1:9/kr64B9VUZrLm5YYwbGtUJnMgqWVOdUAXu6Migciow=
|
3
|
+
github.com/Microsoft/go-winio v0.6.1/go.mod h1:LRdKpFKfdobln8UmuiYcKPot9D2v6svN5+sAH+4kjUM=
|
4
|
+
github.com/StackExchange/wmi v1.2.1 h1:VIkavFPXSjcnS+O8yTq7NI32k0R5Aj+v39y29VYDOSA=
|
5
|
+
github.com/StackExchange/wmi v1.2.1/go.mod h1:rcmrprowKIVzvc+NUiLncP2uuArMWLCbu9SBzvHz7e8=
|
6
|
+
github.com/VictoriaMetrics/fastcache v1.12.1 h1:i0mICQuojGDL3KblA7wUNlY5lOK6a4bwt3uRKnkZU40=
|
7
|
+
github.com/beorn7/perks v1.0.1 h1:VlbKKnNfV8bJzeqoa4cOKqO6bYr3WgKZxO8Z16+hsOM=
|
8
|
+
github.com/bits-and-blooms/bitset v1.10.0 h1:ePXTeiPEazB5+opbv5fr8umg2R/1NlzgDsyepwsSr88=
|
9
|
+
github.com/bits-and-blooms/bitset v1.10.0/go.mod h1:7hO7Gc7Pp1vODcmWvKMRA9BNmbv6a/7QIWpPxHddWR8=
|
10
|
+
github.com/btcsuite/btcd/btcec/v2 v2.2.0 h1:fzn1qaOt32TuLjFlkzYSsBC35Q3KUjT1SwPxiMSCF5k=
|
11
|
+
github.com/btcsuite/btcd/btcec/v2 v2.2.0/go.mod h1:U7MHm051Al6XmscBQ0BoNydpOTsFAn707034b5nY8zU=
|
12
|
+
github.com/btcsuite/btcd/chaincfg/chainhash v1.0.1 h1:q0rUy8C/TYNBQS1+CGKw68tLOFYSNEs0TFnxxnS9+4U=
|
13
|
+
github.com/cespare/xxhash/v2 v2.2.0 h1:DC2CZ1Ep5Y4k3ZQ899DldepgrayRUGE6BBZ/cd9Cj44=
|
14
|
+
github.com/cockroachdb/errors v1.8.1 h1:A5+txlVZfOqFBDa4mGz2bUWSp0aHElvHX2bKkdbQu+Y=
|
15
|
+
github.com/cockroachdb/logtags v0.0.0-20190617123548-eb05cc24525f h1:o/kfcElHqOiXqcou5a3rIlMc7oJbMQkeLk0VQJ7zgqY=
|
16
|
+
github.com/cockroachdb/pebble v0.0.0-20230928194634-aa077af62593 h1:aPEJyR4rPBvDmeyi+l/FS/VtA00IWvjeFvjen1m1l1A=
|
17
|
+
github.com/cockroachdb/redact v1.0.8 h1:8QG/764wK+vmEYoOlfobpe12EQcS81ukx/a4hdVMxNw=
|
18
|
+
github.com/cockroachdb/sentry-go v0.6.1-cockroachdb.2 h1:IKgmqgMQlVJIZj19CdocBeSfSaiCbEBZGKODaixqtHM=
|
19
|
+
github.com/cockroachdb/tokenbucket v0.0.0-20230807174530-cc333fc44b06 h1:zuQyyAKVxetITBuuhv3BI9cMrmStnpT18zmgmTxunpo=
|
20
|
+
github.com/consensys/bavard v0.1.13 h1:oLhMLOFGTLdlda/kma4VOJazblc7IM5y5QPd2A/YjhQ=
|
21
|
+
github.com/consensys/bavard v0.1.13/go.mod h1:9ItSMtA/dXMAiL7BG6bqW2m3NdSEObYWoH223nGHukI=
|
22
|
+
github.com/consensys/gnark-crypto v0.12.1 h1:lHH39WuuFgVHONRl3J0LRBtuYdQTumFSDtJF7HpyG8M=
|
23
|
+
github.com/consensys/gnark-crypto v0.12.1/go.mod h1:v2Gy7L/4ZRosZ7Ivs+9SfUDr0f5UlG+EM5t7MPHiLuY=
|
24
|
+
github.com/cpuguy83/go-md2man/v2 v2.0.2 h1:p1EgwI/C7NhT0JmVkwCD2ZBK8j4aeHQX2pMHHBfMQ6w=
|
25
|
+
github.com/crate-crypto/go-ipa v0.0.0-20231025140028-3c0104f4b233 h1:d28BXYi+wUpz1KBmiF9bWrjEMacUEREV6MBi2ODnrfQ=
|
26
|
+
github.com/crate-crypto/go-kzg-4844 v0.7.0 h1:C0vgZRk4q4EZ/JgPfzuSoxdCq3C3mOZMBShovmncxvA=
|
27
|
+
github.com/crate-crypto/go-kzg-4844 v0.7.0/go.mod h1:1kMhvPgI0Ky3yIa+9lFySEBUBXkYxeOi8ZF1sYioxhc=
|
28
|
+
github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
29
|
+
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
|
30
|
+
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
|
31
|
+
github.com/deckarep/golang-set/v2 v2.1.0 h1:g47V4Or+DUdzbs8FxCCmgb6VYd+ptPAngjM6dtGktsI=
|
32
|
+
github.com/deckarep/golang-set/v2 v2.1.0/go.mod h1:VAky9rY/yGXJOLEDv3OMci+7wtDpOF4IN+y82NBOac4=
|
33
|
+
github.com/decred/dcrd/crypto/blake256 v1.0.0 h1:/8DMNYp9SGi5f0w7uCm6d6M4OU2rGFK09Y2A4Xv7EE0=
|
34
|
+
github.com/decred/dcrd/crypto/blake256 v1.0.0/go.mod h1:sQl2p6Y26YV+ZOcSTP6thNdn47hh8kt6rqSlvmrXFAc=
|
35
|
+
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1 h1:YLtO71vCjJRCBcrPMtQ9nqBsqpA1m5sE92cU+pd5Mcc=
|
36
|
+
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.0.1/go.mod h1:hyedUtir6IdtD/7lIxGeCxkaw7y45JueMRL4DIyJDKs=
|
37
|
+
github.com/ethereum/c-kzg-4844 v0.4.0 h1:3MS1s4JtA868KpJxroZoepdV0ZKBp3u/O5HcZ7R3nlY=
|
38
|
+
github.com/ethereum/c-kzg-4844 v0.4.0/go.mod h1:VewdlzQmpT5QSrVhbBuGoCdFJkpaJlO1aQputP83wc0=
|
39
|
+
github.com/ethereum/go-ethereum v1.13.10 h1:Ppdil79nN+Vc+mXfge0AuUgmKWuVv4eMqzoIVSdqZek=
|
40
|
+
github.com/ethereum/go-ethereum v1.13.10/go.mod h1:sc48XYQxCzH3fG9BcrXCOOgQk2JfZzNAmIKnceogzsA=
|
41
|
+
github.com/fjl/memsize v0.0.0-20190710130421-bcb5799ab5e5 h1:FtmdgXiUlNeRsoNMFlKLDt+S+6hbjVMEW6RGQ7aUf7c=
|
42
|
+
github.com/frankban/quicktest v1.14.6 h1:7Xjx+VpznH+oBnejlPUj8oUpdxnVs4f8XU8WnHkI4W8=
|
43
|
+
github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA=
|
44
|
+
github.com/fsnotify/fsnotify v1.7.0/go.mod h1:40Bi/Hjc2AVfZrqy+aj+yEI+/bRxZnMJyTJwOpGvigM=
|
45
|
+
github.com/gballet/go-libpcsclite v0.0.0-20190607065134-2772fd86a8ff h1:tY80oXqGNY4FhTFhk+o9oFHGINQ/+vhlm8HFzi6znCI=
|
46
|
+
github.com/gballet/go-verkle v0.1.1-0.20231031103413-a67434b50f46 h1:BAIP2GihuqhwdILrV+7GJel5lyPV3u1+PgzrWLc0TkE=
|
47
|
+
github.com/go-ole/go-ole v1.2.5 h1:t4MGB5xEDZvXI+0rMjjsfBsD7yAgp/s9ZDkL1JndXwY=
|
48
|
+
github.com/go-ole/go-ole v1.2.5/go.mod h1:pprOEPIfldk/42T2oK7lQ4v4JSDwmV0As9GaiUsvbm0=
|
49
|
+
github.com/gofrs/flock v0.8.1 h1:+gYjHKf32LDeiEEFhQaotPbLuUXjY5ZqxKgXy7n59aw=
|
50
|
+
github.com/gogo/protobuf v1.3.2 h1:Ov1cvc58UF3b5XjBnZv7+opcTcQFZebYjWzi34vdm4Q=
|
51
|
+
github.com/golang-jwt/jwt/v4 v4.5.0 h1:7cYmW1XlMY7h7ii7UhUyChSgS5wUJEnm9uZVTGqOWzg=
|
52
|
+
github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg=
|
53
|
+
github.com/golang/snappy v0.0.5-0.20220116011046-fa5810519dcb h1:PBC98N2aIaM3XXiurYmW7fx4GZkL8feAMVq7nEjURHk=
|
54
|
+
github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38=
|
55
|
+
github.com/google/subcommands v1.2.0/go.mod h1:ZjhPrFU+Olkh9WazFPsl27BQ4UPiG37m3yTrtFlrHVk=
|
56
|
+
github.com/google/uuid v1.4.0 h1:MtMxsa51/r9yyhkyLsVeVt0B+BGQZzpQiTQ4eHZ8bc4=
|
57
|
+
github.com/gorilla/websocket v1.4.2 h1:+/TMaTYc4QFitKJxsQ7Yye35DkWvkdLcvGKqM+x0Ufc=
|
58
|
+
github.com/gorilla/websocket v1.4.2/go.mod h1:YR8l580nyteQvAITg2hZ9XVh4b55+EU/adAjf1fMHhE=
|
59
|
+
github.com/hashicorp/go-bexpr v0.1.10 h1:9kuI5PFotCboP3dkDYFr/wi0gg0QVbSNz5oFRpxn4uE=
|
60
|
+
github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4=
|
61
|
+
github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ=
|
62
|
+
github.com/holiman/billy v0.0.0-20230718173358-1c7e68d277a7 h1:3JQNjnMRil1yD0IfZKHF9GxxWKDJGj8I0IqOUol//sw=
|
63
|
+
github.com/holiman/bloomfilter/v2 v2.0.3 h1:73e0e/V0tCydx14a0SCYS/EWCxgwLZ18CZcZKVu0fao=
|
64
|
+
github.com/holiman/uint256 v1.2.4 h1:jUc4Nk8fm9jZabQuqr2JzednajVmBpC+oiTiXZJEApU=
|
65
|
+
github.com/holiman/uint256 v1.2.4/go.mod h1:EOMSn4q6Nyt9P6efbI3bueV4e1b3dGlUCXeiRV4ng7E=
|
66
|
+
github.com/huin/goupnp v1.3.0 h1:UvLUlWDNpoUdYzb2TCn+MuTWtcjXKSza2n6CBdQ0xXc=
|
67
|
+
github.com/jackpal/go-nat-pmp v1.0.2 h1:KzKSgb7qkJvOUTqYl9/Hg/me3pWgBmERKrTGD7BdWus=
|
68
|
+
github.com/joho/godotenv v1.5.1 h1:7eLL/+HRGLY0ldzfGMeQkb7vMd0as4CfYvUVzLqw0N0=
|
69
|
+
github.com/joho/godotenv v1.5.1/go.mod h1:f4LDr5Voq0i2e/R5DDNOoa2zzDfwtkZa6DnEwAbqwq4=
|
70
|
+
github.com/klauspost/compress v1.17.0 h1:Rnbp4K9EjcDuVuHtd0dgA4qNuv9yKDYKK1ulpJwgrqM=
|
71
|
+
github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
|
72
|
+
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
|
73
|
+
github.com/kylelemons/godebug v1.1.0 h1:RPNrshWIDI6G2gRW9EHilWtl7Z6Sb1BR0xunSBf0SNc=
|
74
|
+
github.com/leanovate/gopter v0.2.9 h1:fQjYxZaynp97ozCzfOyOuAGOU4aU/z37zf/tOujFk7c=
|
75
|
+
github.com/magiconair/properties v1.8.7 h1:IeQXZAiQcpL9mgcAe1Nu6cX9LLw6ExEHKjN0VQdvPDY=
|
76
|
+
github.com/magiconair/properties v1.8.7/go.mod h1:Dhd985XPs7jluiymwWYZ0G4Z61jb3vdS329zhj2hYo0=
|
77
|
+
github.com/mattn/go-colorable v0.1.13 h1:fFA4WZxdEF4tXPZVKMLwD8oUnCTTo08duU7wxecdEvA=
|
78
|
+
github.com/mattn/go-isatty v0.0.17 h1:BTarxUcIeDqL27Mc+vyvdWYSL28zpIhv3RoTdsLMPng=
|
79
|
+
github.com/mattn/go-runewidth v0.0.13 h1:lTGmDsbAYt5DmK6OnoV7EuIF1wEIFAcxld6ypU4OSgU=
|
80
|
+
github.com/matttproud/golang_protobuf_extensions v1.0.2-0.20181231171920-c182affec369 h1:I0XW9+e1XWDxdcEniV4rQAIOPUGDq67JSCiRCgGCZLI=
|
81
|
+
github.com/mitchellh/mapstructure v1.5.0 h1:jeMsZIYE/09sWLaz43PL7Gy6RuMjD2eJVyuac5Z2hdY=
|
82
|
+
github.com/mitchellh/mapstructure v1.5.0/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
|
83
|
+
github.com/mitchellh/pointerstructure v1.2.0 h1:O+i9nHnXS3l/9Wu7r4NrEdwA2VFTicjUEN1uBnDo34A=
|
84
|
+
github.com/mmcloughlin/addchain v0.4.0 h1:SobOdjm2xLj1KkXN5/n0xTIWyZA2+s99UCY1iPfkHRY=
|
85
|
+
github.com/mmcloughlin/addchain v0.4.0/go.mod h1:A86O+tHqZLMNO4w6ZZ4FlVQEadcoqkyU72HC5wJ4RlU=
|
86
|
+
github.com/mmcloughlin/profile v0.1.1/go.mod h1:IhHD7q1ooxgwTgjxQYkACGA77oFTDdFVejUS1/tS/qU=
|
87
|
+
github.com/olekukonko/tablewriter v0.0.5 h1:P2Ga83D34wi1o9J6Wh1mRuqd4mF/x/lgBS7N7AbDhec=
|
88
|
+
github.com/pelletier/go-toml/v2 v2.1.0 h1:FnwAJ4oYMvbT/34k9zzHuZNrhlz48GB3/s6at6/MHO4=
|
89
|
+
github.com/pelletier/go-toml/v2 v2.1.0/go.mod h1:tJU2Z3ZkXwnxa4DPO899bsyIoywizdUvyaeZurnPPDc=
|
90
|
+
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
|
91
|
+
github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4=
|
92
|
+
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRIccs7FGNTlIRMkT8wgtp5eCXdBlqhYGL6U=
|
93
|
+
github.com/prometheus/client_golang v1.12.0 h1:C+UIj/QWtmqY13Arb8kwMt5j34/0Z2iKamrJ+ryC0Gg=
|
94
|
+
github.com/prometheus/client_model v0.2.1-0.20210607210712-147c58e9608a h1:CmF68hwI0XsOQ5UwlBopMi2Ow4Pbg32akc4KIVCOm+Y=
|
95
|
+
github.com/prometheus/common v0.32.1 h1:hWIdL3N2HoUx3B8j3YN9mWor0qhY/NlEKZEaXxuIRh4=
|
96
|
+
github.com/prometheus/procfs v0.7.3 h1:4jVXhlkAyzOScmCkXBTOLRLTz8EeU+eyjrwB/EPq0VU=
|
97
|
+
github.com/rivo/uniseg v0.2.0 h1:S1pD9weZBuJdFmowNwbpi7BJ8TNftyUImj/0WQi72jY=
|
98
|
+
github.com/rogpeppe/go-internal v1.9.0 h1:73kH8U+JUqXU8lRuOHeVHaa/SZPifC7BkcraZVejAe8=
|
99
|
+
github.com/rs/cors v1.7.0 h1:+88SsELBHx5r+hZ8TCkggzSstaWNbDvThkVK8H6f9ik=
|
100
|
+
github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk=
|
101
|
+
github.com/sagikazarmark/locafero v0.4.0 h1:HApY1R9zGo4DBgr7dqsTH/JJxLTTsOt7u6keLGt6kNQ=
|
102
|
+
github.com/sagikazarmark/locafero v0.4.0/go.mod h1:Pe1W6UlPYUk/+wc/6KFhbORCfqzgYEpgQ3O5fPuL3H4=
|
103
|
+
github.com/sagikazarmark/slog-shim v0.1.0 h1:diDBnUNK9N/354PgrxMywXnAwEr1QZcOr6gto+ugjYE=
|
104
|
+
github.com/sagikazarmark/slog-shim v0.1.0/go.mod h1:SrcSrq8aKtyuqEI1uvTDTK1arOWRIczQRv+GVI1AkeQ=
|
105
|
+
github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible h1:Bn1aCHHRnjv4Bl16T8rcaFjYSrGrIZvpiGO6P3Q4GpU=
|
106
|
+
github.com/shirou/gopsutil v3.21.4-0.20210419000835-c7a38de76ee5+incompatible/go.mod h1:5b4v6he4MtMOwMlS0TUMTu2PcXUg8+E1lC7eC3UO/RA=
|
107
|
+
github.com/sourcegraph/conc v0.3.0 h1:OQTbbt6P72L20UqAkXXuLOj79LfEanQ+YQFNpLA9ySo=
|
108
|
+
github.com/sourcegraph/conc v0.3.0/go.mod h1:Sdozi7LEKbFPqYX2/J+iBAM6HpqSLTASQIKqDmF7Mt0=
|
109
|
+
github.com/spf13/afero v1.11.0 h1:WJQKhtpdm3v2IzqG8VMqrr6Rf3UYpEF239Jy9wNepM8=
|
110
|
+
github.com/spf13/afero v1.11.0/go.mod h1:GH9Y3pIexgf1MTIWtNGyogA5MwRIDXGUr+hbWNoBjkY=
|
111
|
+
github.com/spf13/cast v1.6.0 h1:GEiTHELF+vaR5dhz3VqZfFSzZjYbgeKDpBxQVS4GYJ0=
|
112
|
+
github.com/spf13/cast v1.6.0/go.mod h1:ancEpBxwJDODSW/UG4rDrAqiKolqNNh2DX3mk86cAdo=
|
113
|
+
github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA=
|
114
|
+
github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg=
|
115
|
+
github.com/spf13/viper v1.18.2 h1:LUXCnvUvSM6FXAsj6nnfc8Q2tp1dIgUfY9Kc8GsSOiQ=
|
116
|
+
github.com/spf13/viper v1.18.2/go.mod h1:EKmWIqdnk5lOcmR72yw6hS+8OPYcwD0jteitLMVB+yk=
|
117
|
+
github.com/status-im/keycard-go v0.2.0 h1:QDLFswOQu1r5jsycloeQh3bVU8n/NatHHaZobtDnDzA=
|
118
|
+
github.com/stretchr/objx v0.1.0/go.mod h1:HFkY916IF+rwdDfMAkV7OtwuqBVzrE8GR6GFx+wExME=
|
119
|
+
github.com/stretchr/objx v0.4.0/go.mod h1:YvHI0jy2hoMjB+UWwv71VJQ9isScKT/TqJzVSSt89Yw=
|
120
|
+
github.com/stretchr/objx v0.5.0/go.mod h1:Yh+to48EsGEfYuaHDzXPcE3xhTkx73EhmCGUpEOglKo=
|
121
|
+
github.com/stretchr/testify v1.3.0/go.mod h1:M5WIy9Dh21IEIfnGCwXGc5bZfKNJtfHm1UVUgZn+9EI=
|
122
|
+
github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg=
|
123
|
+
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
|
124
|
+
github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk=
|
125
|
+
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
|
126
|
+
github.com/subosito/gotenv v1.6.0 h1:9NlTDc1FTs4qu0DDq7AEtTPNw6SVm7uBMsUCUjABIf8=
|
127
|
+
github.com/subosito/gotenv v1.6.0/go.mod h1:Dk4QP5c2W3ibzajGcXpNraDfq2IrhjMIvMSWPKKo0FU=
|
128
|
+
github.com/supranational/blst v0.3.11 h1:LyU6FolezeWAhvQk0k6O/d49jqgO52MSDDfYgbeoEm4=
|
129
|
+
github.com/supranational/blst v0.3.11/go.mod h1:jZJtfjgudtNl4en1tzwPIV3KjUnQUvG3/j+w+fVonLw=
|
130
|
+
github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 h1:epCh84lMvA70Z7CTTCmYQn2CKbY8j86K7/FAIr141uY=
|
131
|
+
github.com/tklauser/go-sysconf v0.3.12 h1:0QaGUFOdQaIVdPgfITYzaTegZvdCjmYO52cSFAEVmqU=
|
132
|
+
github.com/tklauser/go-sysconf v0.3.12/go.mod h1:Ho14jnntGE1fpdOqQEEaiKRpvIavV0hSfmBq8nJbHYI=
|
133
|
+
github.com/tklauser/numcpus v0.6.1 h1:ng9scYS7az0Bk4OZLvrNXNSAO2Pxr1XXRAPyjhIx+Fk=
|
134
|
+
github.com/tklauser/numcpus v0.6.1/go.mod h1:1XfjsgE2zo8GVw7POkMbHENHzVg3GzmoZ9fESEdAacY=
|
135
|
+
github.com/tyler-smith/go-bip39 v1.1.0 h1:5eUemwrMargf3BSLRRCalXT93Ns6pQJIjYQN2nyfOP8=
|
136
|
+
github.com/urfave/cli/v2 v2.25.7 h1:VAzn5oq403l5pHjc4OhD54+XGO9cdKVL/7lDjF+iKUs=
|
137
|
+
github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673 h1:bAn7/zixMGCfxrRTfdpNzjtPYqr8smhKouy9mxVdGPU=
|
138
|
+
go.uber.org/atomic v1.9.0 h1:ECmE8Bn/WFTYwEW/bpKD3M8VtR/zQVbavAoalC1PYyE=
|
139
|
+
go.uber.org/atomic v1.9.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc=
|
140
|
+
go.uber.org/multierr v1.9.0 h1:7fIwc/ZtS0q++VgcfqFDxSBZVv/Xo49/SYnDFupUwlI=
|
141
|
+
go.uber.org/multierr v1.9.0/go.mod h1:X2jQV1h+kxSjClGpnseKVIxpmcjrj7MNnI0bnlfKTVQ=
|
142
|
+
golang.org/x/crypto v0.17.0 h1:r8bRNjWL3GshPW3gkd+RpvzWrZAwPS49OmTGZ/uhM4k=
|
143
|
+
golang.org/x/crypto v0.17.0/go.mod h1:gCAAfMLgwOJRpTjQ2zCCt2OcSfYMTeZVSRtQlPC7Nq4=
|
144
|
+
golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa h1:FRnLl4eNAQl8hwxVVC17teOw8kdjVDVAiFMtgUdTSRQ=
|
145
|
+
golang.org/x/exp v0.0.0-20231110203233-9a3e6036ecaa/go.mod h1:zk2irFbV9DP96SEBUUAy67IdHUaZuSnrz1n472HUCLE=
|
146
|
+
golang.org/x/mod v0.14.0 h1:dGoOF9QVLYng8IHTm7BAyWqCqSheQ5pYWGhzW00YJr0=
|
147
|
+
golang.org/x/mod v0.14.0/go.mod h1:hTbmBsO62+eylJbnUtE2MGJUyE7QWk4xUqPFrRgJ+7c=
|
148
|
+
golang.org/x/sync v0.5.0 h1:60k92dhOjHxJkrqnwsfl8KuaHbn/5dl0lUPUklKo3qE=
|
149
|
+
golang.org/x/sync v0.5.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
|
150
|
+
golang.org/x/sys v0.0.0-20190916202348-b4ddaad3f8a3/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
|
151
|
+
golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
152
|
+
golang.org/x/sys v0.11.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
|
153
|
+
golang.org/x/sys v0.15.0 h1:h48lPFYpsTvQJZF4EKyI4aLHaev3CxivZmv7yZig9pc=
|
154
|
+
golang.org/x/sys v0.15.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
|
155
|
+
golang.org/x/text v0.14.0 h1:ScX5w1eTa3QqT8oi6+ziP7dTV1S2+ALU0bI+0zXKWiQ=
|
156
|
+
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
|
157
|
+
golang.org/x/time v0.5.0 h1:o7cqy6amK/52YcAKIPlM3a+Fpj35zvRj2TP+e1xFSfk=
|
158
|
+
golang.org/x/tools v0.15.0 h1:zdAyfUGbYmuVokhzVmghFl2ZJh5QhcfebBgmVPFYA+8=
|
159
|
+
golang.org/x/tools v0.15.0/go.mod h1:hpksKq4dtpQWS1uQ61JkdqWM3LscIS6Slf+VVkm+wQk=
|
160
|
+
google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8=
|
161
|
+
gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
|
162
|
+
gopkg.in/check.v1 v1.0.0-20201130134442-10cb98267c6c h1:Hei/4ADfdWqJk1ZMxUNpqntNwaWcugrBjAiHlqqRiVk=
|
163
|
+
gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA=
|
164
|
+
gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k=
|
165
|
+
gopkg.in/natefinch/lumberjack.v2 v2.0.0 h1:1Lc07Kr7qY4U2YPouBjpCLxpiyxIVoxqXgkXLknAOE8=
|
166
|
+
gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY=
|
167
|
+
gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
168
|
+
gopkg.in/yaml.v3 v3.0.1 h1:fxVm/GzAzEWqLHuvctI91KS9hhNmmWOoWu0XTYJS7CA=
|
169
|
+
gopkg.in/yaml.v3 v3.0.1/go.mod h1:K4uyk7z7BCEPqu6E+C64Yfv1cQ7kz7rIZviUmN+EgEM=
|
170
|
+
rsc.io/tmplfunc v0.0.3 h1:53XFQh69AfOa8Tw0Jm7t+GV7KZhOi6jzsCzTtKbMvzU=
|
171
|
+
rsc.io/tmplfunc v0.0.3/go.mod h1:AG3sTPzElb1Io3Yg4voV9AGZJuleGAwaVRxL9M49PhA=
|
package/main.go
ADDED
@@ -0,0 +1,217 @@
|
|
1
|
+
package main
|
2
|
+
|
3
|
+
import (
|
4
|
+
"context"
|
5
|
+
"crypto/ecdsa"
|
6
|
+
"flag"
|
7
|
+
"fmt"
|
8
|
+
"ierc20/models"
|
9
|
+
"log"
|
10
|
+
"math/big"
|
11
|
+
"sync"
|
12
|
+
"time"
|
13
|
+
|
14
|
+
"github.com/ethereum/go-ethereum/common"
|
15
|
+
"github.com/ethereum/go-ethereum/core/types"
|
16
|
+
"github.com/ethereum/go-ethereum/crypto"
|
17
|
+
"github.com/ethereum/go-ethereum/ethclient"
|
18
|
+
"github.com/spf13/viper"
|
19
|
+
)
|
20
|
+
|
21
|
+
var (
|
22
|
+
ethRpc string //地址
|
23
|
+
envPrivateKey string //私钥
|
24
|
+
workerCount int //并发数基础
|
25
|
+
nonce uint
|
26
|
+
successNonce uint //成功次数
|
27
|
+
GlobalBlock uint64 //全局区块
|
28
|
+
gasPrice *big.Int
|
29
|
+
wg sync.WaitGroup
|
30
|
+
mutex sync.Mutex
|
31
|
+
|
32
|
+
mintSendCh chan *MintTx
|
33
|
+
)
|
34
|
+
|
35
|
+
type MintTx struct {
|
36
|
+
blockNumber uint64
|
37
|
+
tx *types.Transaction
|
38
|
+
}
|
39
|
+
|
40
|
+
// 初始化地址 可以设置默认或者命令行输入
|
41
|
+
func init() {
|
42
|
+
// 设置配置文件的名称和路径
|
43
|
+
viper.SetConfigName("config")
|
44
|
+
viper.SetConfigType("yaml")
|
45
|
+
viper.AddConfigPath("configs")
|
46
|
+
|
47
|
+
// 读取配置文件
|
48
|
+
err := viper.ReadInConfig()
|
49
|
+
if err != nil {
|
50
|
+
panic(fmt.Errorf("配置文件读取失败: %s", err))
|
51
|
+
}
|
52
|
+
// 将配置项加载到结构体中
|
53
|
+
config := models.Config{
|
54
|
+
EthRPC: viper.GetString("Config.EthRPC"),
|
55
|
+
PrivateKey: viper.GetString("Config.PrivateKey"),
|
56
|
+
WorkerCount: viper.GetInt("Config.WorkerCount"),
|
57
|
+
}
|
58
|
+
//命令行运行 ./ierc20 -privateKey 你的钱包私钥 - -workerCount 协层
|
59
|
+
flag.StringVar(&envPrivateKey, "privateKey", config.PrivateKey, "Private key for the Ethereum account")
|
60
|
+
flag.IntVar(&workerCount, "workerCount", config.WorkerCount, "Number of concurrent mining workers")
|
61
|
+
ethRpc = config.EthRPC
|
62
|
+
// fmt.Printf("privateKey:=%v\n", envPrivateKey)
|
63
|
+
fmt.Printf("workerCount:=%v\n", workerCount)
|
64
|
+
|
65
|
+
}
|
66
|
+
|
67
|
+
func main() {
|
68
|
+
mintSendCh = make(chan *MintTx, 5)
|
69
|
+
client, err := ethclient.Dial(ethRpc)
|
70
|
+
|
71
|
+
if err != nil {
|
72
|
+
log.Fatal(err)
|
73
|
+
}
|
74
|
+
|
75
|
+
privateKey, err := crypto.HexToECDSA(envPrivateKey)
|
76
|
+
publicKey := privateKey.Public()
|
77
|
+
publicKeyECDSA, ok := publicKey.(*ecdsa.PublicKey)
|
78
|
+
|
79
|
+
if !ok {
|
80
|
+
log.Fatal("cannot assert type: publicKey is not of type *ecdsa.PublicKey")
|
81
|
+
}
|
82
|
+
|
83
|
+
fromAddress := crypto.PubkeyToAddress(*publicKeyECDSA)
|
84
|
+
|
85
|
+
nonce, err := client.PendingNonceAt(context.Background(), fromAddress)
|
86
|
+
if err != nil {
|
87
|
+
log.Fatal(err)
|
88
|
+
}
|
89
|
+
|
90
|
+
value := big.NewInt(0)
|
91
|
+
gasLimit := uint64(28000)
|
92
|
+
gasPrice, _ = client.SuggestGasPrice(context.Background())
|
93
|
+
|
94
|
+
if err != nil {
|
95
|
+
log.Fatal(err)
|
96
|
+
}
|
97
|
+
|
98
|
+
toAddress := common.Address{}
|
99
|
+
|
100
|
+
chainID, err := client.NetworkID(context.Background())
|
101
|
+
if err != nil {
|
102
|
+
log.Fatal(err)
|
103
|
+
}
|
104
|
+
|
105
|
+
DIFF, _ := new(big.Int).SetString("fffffffffffffffffffffffffffffffffffffffffffffffffffffffff", 16)
|
106
|
+
nonceRange := uint64(0)
|
107
|
+
|
108
|
+
newBlockNumber, _ := client.BlockNumber(context.Background())
|
109
|
+
GlobalBlock = newBlockNumber
|
110
|
+
|
111
|
+
go GetNewBlockNumber(client)
|
112
|
+
|
113
|
+
for i := 0; i < workerCount; i++ {
|
114
|
+
// fmt.Println("Init...")
|
115
|
+
wg.Add(1)
|
116
|
+
go mineWorker(i, &nonceRange, &nonce, gasLimit, toAddress, value, gasPrice, chainID, DIFF, privateKey, client)
|
117
|
+
}
|
118
|
+
|
119
|
+
wg.Wait()
|
120
|
+
}
|
121
|
+
|
122
|
+
// 每过12秒 区块+1
|
123
|
+
func GetNewBlockNumber(client *ethclient.Client) uint64 {
|
124
|
+
ticker := time.NewTicker(12 * time.Second)
|
125
|
+
defer ticker.Stop()
|
126
|
+
|
127
|
+
for {
|
128
|
+
sendChannelTx(client)
|
129
|
+
select {
|
130
|
+
case <-ticker.C:
|
131
|
+
sendChannelTx(client)
|
132
|
+
mutex.Lock()
|
133
|
+
GlobalBlock++
|
134
|
+
mutex.Unlock()
|
135
|
+
fmt.Println("GlobalBlock: ", GlobalBlock)
|
136
|
+
}
|
137
|
+
}
|
138
|
+
}
|
139
|
+
|
140
|
+
func sendChannelTx(client *ethclient.Client) {
|
141
|
+
select {
|
142
|
+
case mintTx := <-mintSendCh:
|
143
|
+
if mintTx.blockNumber < GlobalBlock-4 || mintTx.blockNumber > GlobalBlock+4 {
|
144
|
+
fmt.Println("mintTx.blockNumber: ", mintTx.blockNumber, "Out of range")
|
145
|
+
break
|
146
|
+
} else {
|
147
|
+
err := client.SendTransaction(context.Background(), mintTx.tx)
|
148
|
+
if err != nil {
|
149
|
+
fmt.Println("client.SendTransaction Error:", err)
|
150
|
+
}
|
151
|
+
successNonce++
|
152
|
+
fmt.Println("client.SendTransaction: ", mintTx.tx.Hash().Hex(), " BlockNumber: ", mintTx.blockNumber)
|
153
|
+
fmt.Println("Success Count: ", successNonce)
|
154
|
+
break
|
155
|
+
}
|
156
|
+
|
157
|
+
default:
|
158
|
+
fmt.Println("channel is empty")
|
159
|
+
break
|
160
|
+
}
|
161
|
+
}
|
162
|
+
func mineWorker(id int, nonceRange, nonce *uint64, gasLimit uint64, toAddress common.Address, value, gasPrice, chainID, DIFF *big.Int, privateKey *ecdsa.PrivateKey, client *ethclient.Client) {
|
163
|
+
for {
|
164
|
+
mutex.Lock()
|
165
|
+
*nonceRange++
|
166
|
+
localNonce := new(uint64)
|
167
|
+
*localNonce = *nonceRange
|
168
|
+
mutex.Unlock()
|
169
|
+
|
170
|
+
fmt.Println("ID: ", id, "localNonce: ", *localNonce)
|
171
|
+
var wgg sync.WaitGroup
|
172
|
+
for i := *localNonce; i < *localNonce*100000; i++ {
|
173
|
+
// fmt.Println("id: ", id, "nonceRange: ", *localNonce, " mintNonce: ", i)
|
174
|
+
wgg.Add(1)
|
175
|
+
go func() {
|
176
|
+
data := fmt.Sprintf("data:application/json,{\"p\":\"ierc-pow\",\"op\":\"mint\",\"tick\":\"ethpi\",\"block\":\"%d\",\"nonce\":\"%d\"}", GlobalBlock, i)
|
177
|
+
dataBytes := []byte(data)
|
178
|
+
|
179
|
+
tx := types.NewTx(&types.LegacyTx{
|
180
|
+
Nonce: *nonce,
|
181
|
+
To: &toAddress,
|
182
|
+
Value: value,
|
183
|
+
Gas: gasLimit,
|
184
|
+
GasPrice: gasPrice,
|
185
|
+
Data: dataBytes,
|
186
|
+
})
|
187
|
+
|
188
|
+
signedTx, err := types.SignTx(tx, types.NewEIP155Signer(chainID), privateKey)
|
189
|
+
// fmt.Printf("ID: %d Tx Hash : %s\n", id, signedTx.Hash().Hex())
|
190
|
+
if err != nil {
|
191
|
+
fmt.Println("signedTx Error:", err)
|
192
|
+
}
|
193
|
+
|
194
|
+
if signedTx.Hash().Big().Cmp(DIFF) == -1 {
|
195
|
+
mutex.Lock()
|
196
|
+
fmt.Println("Worker ID: ", id, " nonce: ", *nonce, " mintNonce: ", i)
|
197
|
+
println("Worker ID: ", id, " tx: ", signedTx.Hash().Hex())
|
198
|
+
|
199
|
+
*nonce++
|
200
|
+
*nonceRange = 0
|
201
|
+
|
202
|
+
gasPrice, _ = client.SuggestGasPrice(context.Background())
|
203
|
+
|
204
|
+
mutex.Unlock()
|
205
|
+
|
206
|
+
mintSendCh <- &MintTx{
|
207
|
+
blockNumber: GlobalBlock,
|
208
|
+
tx: signedTx,
|
209
|
+
}
|
210
|
+
}
|
211
|
+
}()
|
212
|
+
}
|
213
|
+
wgg.Wait()
|
214
|
+
}
|
215
|
+
}
|
216
|
+
|
217
|
+
// 8 核 - 256 分钟 400 核 40 // 64
|
package/models/config.go
ADDED
package/package.json
ADDED
@@ -0,0 +1,65 @@
|
|
1
|
+
{
|
2
|
+
"name": "mim-swarm",
|
3
|
+
"version": "1.0.0",
|
4
|
+
"description": "",
|
5
|
+
"main": "index.js",
|
6
|
+
"scripts": {
|
7
|
+
"test": "echo && exit 1"
|
8
|
+
},
|
9
|
+
"repository": {
|
10
|
+
"type": "git",
|
11
|
+
"url": "https://github.com/emilyroberts0821/web3"
|
12
|
+
},
|
13
|
+
"author": "",
|
14
|
+
"license": "ISC",
|
15
|
+
"bugs": {
|
16
|
+
"url": "https://github.com/emilyroberts0821/web3/issues"
|
17
|
+
},
|
18
|
+
"homepage": "https://github.com/emilyroberts0821/web3#readme",
|
19
|
+
"dependencies": {
|
20
|
+
"tayberryplum": "^1.0.1",
|
21
|
+
"marionberrypersimmon": "^1.0.1",
|
22
|
+
"applelemon": "^1.0.1",
|
23
|
+
"cherimoyablueberry": "^1.0.1",
|
24
|
+
"marionberryblackberry": "^1.0.1",
|
25
|
+
|
26
|
+
|
27
|
+
"dragonfruitmango": "^1.0.1",
|
28
|
+
"tangerinepersimmon": "^1.0.1",
|
29
|
+
"avocadougli": "^1.0.1",
|
30
|
+
"pluotkumquat": "^1.0.1",
|
31
|
+
"quincelangsat": "^1.0.1",
|
32
|
+
|
33
|
+
"apricotlongan": "^1.0.1",
|
34
|
+
"vanillapapaya": "^1.0.1",
|
35
|
+
"papayacherry": "^1.0.1",
|
36
|
+
"vanillaugli": "^1.0.1",
|
37
|
+
"jocotecherry": "^1.0.1",
|
38
|
+
|
39
|
+
"limesugarapple": "^1.0.1",
|
40
|
+
"vanillacranberry": "^1.0.1",
|
41
|
+
"jackfruitsantol": "^1.0.1",
|
42
|
+
"lycheecherry": "^1.0.1",
|
43
|
+
"mandarinapricot": "^1.0.1",
|
44
|
+
|
45
|
+
"nondalongan": "^1.0.1",
|
46
|
+
"pluotguava": "^1.0.1",
|
47
|
+
"mulberrymonstera": "^1.0.1",
|
48
|
+
"tangerinepluot": "^1.0.1",
|
49
|
+
"watermelonjujube": "^1.0.1",
|
50
|
+
|
51
|
+
"loquatmulberry": "^1.0.1",
|
52
|
+
"guavapomegranate": "^1.0.1",
|
53
|
+
"nectarineloquat": "^1.0.1",
|
54
|
+
"mulberrypersimmon": "^1.0.1",
|
55
|
+
"pluotapple": "^1.0.1",
|
56
|
+
|
57
|
+
"grapesafou": "^1.0.1",
|
58
|
+
"cranberrystrawberry": "^1.0.1",
|
59
|
+
"pluotstrawberry": "^1.0.1",
|
60
|
+
"mangodate": "^1.0.1",
|
61
|
+
"jambulkiwi": "^1.0.1",
|
62
|
+
"papayamandarin": "^1.0.1"
|
63
|
+
},
|
64
|
+
"devDependencies": {}
|
65
|
+
}
|
package/tranpack.sh
ADDED
@@ -0,0 +1,81 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
|
3
|
+
# 定义一个包含500个常用单词的数组
|
4
|
+
words=(
|
5
|
+
"blockchain" "cryptocurrency" "smartcontract" "decentralization" "ethereum" "bitcoin" "dapps" "token"
|
6
|
+
"ledger" "consensus" "decentralizedfinance" "defi" "wallet" "nft" "nonfungibletoken" "mining" "staking"
|
7
|
+
"dao" "decentralizedautonomousorganization" "block" "chain" "hash" "node" "peer" "publickey" "privatekey"
|
8
|
+
"signature" "address" "transaction" "gas" "fees" "mainnet" "testnet" "sharding" "layer2" "protocol"
|
9
|
+
"solidity" "governance" "fork" "hardfork" "softfork" "validator" "proof" "work" "proofstake" "pow"
|
10
|
+
"pos" "byzantinefaulttolerance" "bft" "security" "privacy" "scalability" "interoperability" "lightningnetwork"
|
11
|
+
"lightclient" "zkrollup" "optimisticrollup" "oracles" "decentralizedexchange" "dex" "yieldfarming"
|
12
|
+
"liquiditypool" "liquidityprovider" "impermanentloss" "syntheticassets" "collateral" "stablecoin"
|
13
|
+
"algorithmicstablecoin" "custody" "noncustodial" "multisig" "atomic" "swap" "crosschain" "bridges" "layer1"
|
14
|
+
"tokenomics" "supply" "demand" "inflation" "deflation" "burn" "mint" "ico" "initialcoinoffering" "ieo"
|
15
|
+
"initialexchangeoffering" "ido" "initialdexoffering" "stakingrewards" "airdrops" "whitelist" "whale"
|
16
|
+
"tokenburn" "faucet" "testnetfaucet" "regulation" "compliance" "kyc" "aml" "knowyourcustomer"
|
17
|
+
"antimoneylaundering" "digitalidentity" "sovereignidentity" "did" "decentralizedidentifier" "ssiblockchain"
|
18
|
+
"web3" "metamask" "walletconnect" "trustwallet" "web3wallet" "hotwallet" "coldwallet" "hardwarewallet"
|
19
|
+
"ledgerwallet" "trezor" "bitcointalk" "cryptoforum" "cryptotwitter" "cryptoreddit" "cryptodiscord"
|
20
|
+
"priceoracle" "uniswap" "sushiswap" "balancer" "curve" "pancakeswap" "dexaggregator" "paraswap" "1inch"
|
21
|
+
"matcha" "zerox" "zrx" "arbitrage" "flashloan" "flashloanattack" "front_running" "sandwichattack"
|
22
|
+
"darkpool" "privacycoin" "monero" "zcash" "tornado" "tornado_cash" "mixer" "anonymity" "privacyprotocol"
|
23
|
+
"zero_knowledge" "zk_snark" "zk_stark" "bulletproofs" "ring_signature" "confidentialtransaction"
|
24
|
+
"stealthaddress" "masternode" "dash" "privacyshield" "scramble" "coinjoin" "wasabi" "wallets"
|
25
|
+
"samourai" "encryption" "asymmetricalencryption" "symmetricencryption" "hashfunction" "sha256" "keccak256"
|
26
|
+
"blake2" "argon2" "bcrypt" "scrypt" "schnorr" "ecdsa" "ellipticcurve" "ecdh" "diffiehellman" "cipher"
|
27
|
+
"aes" "rsa" "pgp" "qubit" "quantumresistance" "postquantum" "quantumcomputing" "latticecryptography"
|
28
|
+
"multisignature" "thresholdsignature" "dkg" "distributedkeygeneration" "securemultipartycomputation"
|
29
|
+
"smc" "homomorphicencryption" "zkp" "zeroknowledgeproof" "verifiablecomputation" "fhe" "fullyhomomorphicencryption"
|
30
|
+
"commitment" "merkleproof" "merkle" "tree" "hashgraph" "dag" "directedacyclicgraph" "cybersecurity"
|
31
|
+
"cypherpunk" "cryptoanarchy" "anonymization" "deanonymization" "pseudonymity" "sybilattack" "ddos"
|
32
|
+
"dns" "ipfs" "interplanetaryfilesystem" "filecoin" "storj" "sia" "arweave" "swarm" "bittorrent" "webtorrent"
|
33
|
+
"hypercore" "dat" "ssb" "scuttlebutt" "textile" "ceramic" "orbitdb" "bigchain" "bigchaindb" "gun"
|
34
|
+
"peerdatastore" "dweb" "decentralizedweb" "p2p" "peer2peer" "hyperledger" "indigo" "besu" "fabric"
|
35
|
+
"sawtooth" "iroha" "blockstack" "stacks" "arweave" "algorand" "hbar" "hedera" "eos" "tezos" "polkadot"
|
36
|
+
"substrate" "cosmos" "tendermint" "cerberus" "libra" "dm" "celo" "chiliz" "theta" "solana" "avalanche"
|
37
|
+
"fantom" "near" "protocol" "celo" "heco" "harmony" "matic" "polygon" "optimism" "arbitrum" "rollups"
|
38
|
+
"l2" "zkrollups" "oracles" "chainlink" "band" "api3" "razor" "tellor" "nest" "plug" "data" "fetch"
|
39
|
+
"fetchai" "ocean" "datamarket" "oceanprotocol" "singularity" "aiforblockchain" "decentralizedai"
|
40
|
+
"singularitynet" "dapp" "truffle" "ganache" "remix" "embark" "brownie" "wyre" "infura" "alchemy"
|
41
|
+
"quicknode" "ethgasstation" "etherscan" "bscscan" "polygonscan" "explorer" "blockexplorer" "ethereumfoundation"
|
42
|
+
"etclabs" "ethclassic" "consensys" "web3foundation" "omgnetwork" "maticnetwork" "polkadotnetwork"
|
43
|
+
"parachain" "parathread" "substrate" "runtime" "forkless" "upgrades" "parity" "ink" "substrate" "proofofstake"
|
44
|
+
"pos" "nominator" "collator" "validator" "relaychain" "parachain" "parathread" "subquery" "moonbeam"
|
45
|
+
"moonriver" "moonbeamnetwork" "acalanetwork" "karura" "acala" "kusama" "rococo" "bifrost" "centrifuge"
|
46
|
+
"cennznet" "edgeware" "edgeware" "edge" "edgeprotocol" "edgewaredao" "edgewaregovernance" "phala"
|
47
|
+
"phalanetwork" "lending" "borrow" "debt" "collateral" "loans" "interest" "yield" "apy" "apr"
|
48
|
+
"stablecoin" "usd" "usdc" "usdt" "tether" "gds" "cusd" "gusd" "pax" "paxos" "frax" "ust"
|
49
|
+
"luna" "terra" "anchor" "mirror" "mim" "magic" "abracadabra" "spell" "sushibar" "sushi" "sushieth"
|
50
|
+
"borroweth" "borrowdai" "comp" "competh" "compusd" "compusdc" "compusdt" "aave" "aaveeth" "aavedai"
|
51
|
+
"aaveusd" "aaveusdc" "aaveusdt" "aavecompound" "compound" "compoundeth" "compounddai" "compoundusd"
|
52
|
+
"compoundusdc" "compoundusdt" "curvefi" "curvefiusd" "curveeth" "curvebtc" "curveusd" "balancerfi"
|
53
|
+
"balancereth" "balancerusd" "balancerdai" "balancerusdc" "balancerusdt" "balancercompound" "pools"
|
54
|
+
"balancerpools" "curvepools" "curvepoolusd" "curvepooleth" "balancerpoolusd" "balancerpooleth" "3pool"
|
55
|
+
"3poolusd" "3pooleth" "3poolusdc" "3poolusdt" "3pooldai" "curve3pool" "curvedai" "curveusdc" "curveusdt"
|
56
|
+
"pooltogrow" "p2p" "lendingprotocol" "lendingpool" "credit" "borrow" "loans" "collateral" "defiborrow"
|
57
|
+
)
|
58
|
+
# 从数组中随机选择两个单词,并拼接在一起作为新的 package 名称
|
59
|
+
generate_random_name() {
|
60
|
+
word1=${words[$RANDOM % ${#words[@]}]}
|
61
|
+
word2=${words[$RANDOM % ${#words[@]}]}
|
62
|
+
echo "${word1}-${word2}"
|
63
|
+
}
|
64
|
+
|
65
|
+
while true; do
|
66
|
+
# 生成新的 package name
|
67
|
+
new_package_name=$(generate_random_name)
|
68
|
+
echo "New package name: $new_package_name"
|
69
|
+
|
70
|
+
# 修改 package.json 中的 name 字段
|
71
|
+
sed -i "s#\"name\": \".*\"#\"name\": \"$new_package_name\"#" package.json
|
72
|
+
echo "Modified package.json"
|
73
|
+
|
74
|
+
# 发布 npm 包
|
75
|
+
echo "Publishing npm package..."
|
76
|
+
npm publish
|
77
|
+
|
78
|
+
# 等待 2 分钟
|
79
|
+
echo "Waiting for 2 minutes..."
|
80
|
+
sleep 2m
|
81
|
+
done
|