Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

crypto: update keytool to generate NodeConfig #4769

Merged
merged 1 commit into from
Sep 27, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
251 changes: 251 additions & 0 deletions crates/sui-config/src/test_gateway.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,251 @@
---
epoch: 0
validator_set:
- name: validator-9
account-key: AD0iV/PbGVBoPExdB+4wfprZLoS9N4ltb00p1MNnlm71
protocol-key: getJQ17IvK3nYcHAOLZ1PDeQt5dNcxGGkCooW9AYo0fUNEu1C3Uo264SZBiEqhqUD3QcR018SpZkYYEntPS/B/I8QGRJFBa55O1GSGGNscJ3rOOArqGKM4cOBaJUF2nH
worker-key: RXzQ+WNIIcodae0f1AaRVg3qvzbySW4EYBUVf68VdzA=
network-key: OD73hNLl2wBqBrmcxG00r77V7Kgdi2fu4YpnoEJDyPs=
stake: 1
delegation: 0
gas-price: 1
network-address: /dns/ny2-suival-1.testnet.sui.io/tcp/8080/http
narwhal-primary-address: /dns/ny2-suival-1.testnet.sui.io/tcp/8081/http
narwhal-worker-address: /dns/ny2-suival-1.testnet.sui.io/tcp/8082/http
narwhal-consensus-address: /ip4/127.0.0.1/tcp/8083/http
- name: validator-14
account-key: APxJHKslYpWYWmMIlpKfzBTj9K5I84diueoJ4sWHwjmS
protocol-key: hUY69ZxcvuOaoY9AoazvEAsum2bS/61LZU7d88h/baYO5rBXFod3UeYC+wr0J51qF6JUpOaNk/E2OIFSbI1GoLUxu0AxIfe23ph+BLD3CbttFMbpqZa7Zza6DOHpjyok
worker-key: IrjezuU/lXLkyXkAUvWbKBGPLH5GCrJqCRYKTVc9nao=
network-key: pu7Q7oXG6GiRfoEcR7azVoWUVQC10gY7MLi3xVoYa0g=
stake: 1
delegation: 0
gas-price: 1
network-address: /dns/mh1-suival-2.testnet.sui.io/tcp/8080/http
narwhal-primary-address: /dns/mh1-suival-2.testnet.sui.io/tcp/8081/http
narwhal-worker-address: /dns/mh1-suival-2.testnet.sui.io/tcp/8082/http
narwhal-consensus-address: /ip4/127.0.0.1/tcp/8083/http
- name: validator-13
account-key: AF7odQ5Mwj8PBN/7LYTqyB/gS1OywSBOcKuCS/+VNyLd
protocol-key: iBNb7x9vyRov6hR/y0671JJ3gYTGWjDtSO8BLZ0FjZQkkQ3peXhjQZnVUe7VO8CnGN630twyg6zfBwS8CL51rV0UbsEJ0ZOn/4uwR/rq8PwMdod+Wf84AkGhbrZ0AUh4
worker-key: H2uJQcpeBVF/cn5VBR3re7HZugsooxv2TeGfoctO6GE=
network-key: tgVQjD8k8ymbIdWYhi8VxjMw9FInsfh8xLd+4xhOIOE=
stake: 1
delegation: 0
gas-price: 1
network-address: /dns/mh1-suival-1.testnet.sui.io/tcp/8080/http
narwhal-primary-address: /dns/mh1-suival-1.testnet.sui.io/tcp/8081/http
narwhal-worker-address: /dns/mh1-suival-1.testnet.sui.io/tcp/8082/http
narwhal-consensus-address: /ip4/127.0.0.1/tcp/8083/http
- name: validator-17
account-key: AO6lcah9+F9DfVBwE5+30kmi8pkw7nHPeolO0LNIJUQi
protocol-key: iJOovXaLrS4FvmlpMnkCk0oEY79HrBPLxY+21WhK2sKsaTsAgjL4KnyXVbrb7nTOAm0z6CkdzT+hMmMw1E7csmK8dV8VjKpgaR66oMxcGDM2Rbu0XhqIx7uH3DpwYezp
worker-key: jdsdCfcvGNs5XxGk+jwNbOF6caMnaWvCGKOp0b4QslI=
network-key: qqL4hLWUa7bitFYj0k1uosnmKEEslk/o8shtOOJriWY=
stake: 1
delegation: 0
gas-price: 1
network-address: /dns/ty6-suival-1.testnet.sui.io/tcp/8080/http
narwhal-primary-address: /dns/ty6-suival-1.testnet.sui.io/tcp/8081/http
narwhal-worker-address: /dns/ty6-suival-1.testnet.sui.io/tcp/8082/http
narwhal-consensus-address: /ip4/127.0.0.1/tcp/8083/http
- name: validator-10
account-key: AEM7kl/d6VlBG1IgY+lHdxzudYT6ZhtXiYBh3kCxLZCq
protocol-key: iic7mlIKCwVxaqej7btkXo045aJYw6hgqpHZT+n25aqICuYCkc0PUXzZ2qSGTrUgDkhcyLKUpMPXjNCPw7AV3M+B+dPuKf6BVVo4Enj4KJe5SnoNOYRE7Ll01K9KfbWU
worker-key: +Ukw2HM7IYXyIxp9F2ZbBZMAQpIMN24fhzArm41CJy0=
network-key: IXFQDgUFO6XD+eqnCHf4aAR2HVdqKKM/7l13nlFIk+w=
stake: 1
delegation: 0
gas-price: 1
network-address: /dns/ny2-suival-2.testnet.sui.io/tcp/8080/http
narwhal-primary-address: /dns/ny2-suival-2.testnet.sui.io/tcp/8081/http
narwhal-worker-address: /dns/ny2-suival-2.testnet.sui.io/tcp/8082/http
narwhal-consensus-address: /ip4/127.0.0.1/tcp/8083/http
- name: validator-7
account-key: ALO4VmUJME24oEDq0tzE7MRi+83HZE3UCuLTVPIE4ZQK
protocol-key: krpOBB6E7P0N4jsUHBGFPSHX0UPoS6uFR1I/kKND+em8+cgrujsm31oygHdrKhUeDjq4UWUtCyxLoCczGLO/F1VUooI/J3iqzjN1RvkG7CiFriuU0L9GF7/l64U01DwN
worker-key: knT4d0Du6/s0qQWtIeAHI25gRjTXHQe4g0SK56LGtLw=
network-key: ZtPhPziNESJSElsa2y7GZWkc97kKPMrJTq1UldpxUoU=
stake: 1
delegation: 0
gas-price: 1
network-address: /dns/dal2-suival-3.testnet.sui.io/tcp/8080/http
narwhal-primary-address: /dns/dal2-suival-3.testnet.sui.io/tcp/8081/http
narwhal-worker-address: /dns/dal2-suival-3.testnet.sui.io/tcp/8082/http
narwhal-consensus-address: /ip4/127.0.0.1/tcp/8083/http
- name: validator-8
account-key: AJN7LZADOBBRulSlRjE0HJs3YR8I3WPwg2ejh4HbDmIS
protocol-key: ky1saTSmEpWC/F4MKypOBzJaNaqxHk7gTWkhDnJP0NMZG0vniS+3YIGtg/MsHPQXAVJkmj/rq9AgGNN/xxmUXd7iB/6xnldUSRfHDberjd9lr6zlG+oEtj9nmpLNA/Wd
worker-key: feBqPOJotxyv+jWKWvYGWw6/ISzP2dms9jhiy4Nbj4Q=
network-key: yfVmqGTyP3tutFvvrvklhafUJUCTmik+6u6zBRV3Vb4=
stake: 1
delegation: 0
gas-price: 1
network-address: /dns/ny2-suival-0.testnet.sui.io/tcp/8080/http
narwhal-primary-address: /dns/ny2-suival-0.testnet.sui.io/tcp/8081/http
narwhal-worker-address: /dns/ny2-suival-0.testnet.sui.io/tcp/8082/http
narwhal-consensus-address: /ip4/127.0.0.1/tcp/8083/http
- name: validator-4
account-key: ACfae1xB9WlL4aSAEbIeTzHSK70s6pUFK4MWerGsas0i
protocol-key: lwDow31chV6Qb3bqcHN5EjFVRf6MVttV94z4d4y5srrEz/Ljax/6RV3rHR65OfU1ExK8K5bX1gZ6q8pZgVUTPjWrRt3G8P1aD8hw0gXFFYeE3Wx2+Y4P4r8H4LMcqriZ
worker-key: XpdNknObin/NdNWpBISwDdJxhSlyBVZ85Vn9AnVzxtY=
network-key: 7b8+yXq6rdRw7eToBWfCnYoDBPxDvTVeW6xyiK5u4HM=
stake: 1
delegation: 0
gas-price: 1
network-address: /dns/dal2-suival-0.testnet.sui.io/tcp/8080/http
narwhal-primary-address: /dns/dal2-suival-0.testnet.sui.io/tcp/8081/http
narwhal-worker-address: /dns/dal2-suival-0.testnet.sui.io/tcp/8082/http
narwhal-consensus-address: /ip4/127.0.0.1/tcp/8083/http
- name: validator-18
account-key: AE6+TGtd9SgOFPJh7sswMd8YDf7G080NeGYwzuIS3/zM
protocol-key: l/fjESkdgYtdwiEnTNEEltgjImpW5k5CIwnq3YHSAlXW2wATYAf+U0CwYHIbFelxC4XpuDZJTMUDp/B1q7lbMms/EuUmHvP59uz3ysNMERt0w+kDDIcdN45yPhJJOTwq
worker-key: Qn3hFtZnGKB5NKeLsjAzb0+N6Nar2UpLeiUYcOBAaAs=
network-key: y3wT8cSNLo+flMsvseffK5fJC72J12ZrT6Tjy6wzQkM=
stake: 1
delegation: 0
gas-price: 1
network-address: /dns/ty6-suival-2.testnet.sui.io/tcp/8080/http
narwhal-primary-address: /dns/ty6-suival-2.testnet.sui.io/tcp/8081/http
narwhal-worker-address: /dns/ty6-suival-2.testnet.sui.io/tcp/8082/http
narwhal-consensus-address: /ip4/127.0.0.1/tcp/8083/http
- name: validator-2
account-key: AGhrMVMiJ67VCxth8gWXNFOLnFuNkIMjV0GK3EFBfaio
protocol-key: pGmknQNryWXOmxfNJ1L2IpVplX0kcjMpeHAcuRbxv6rlJt1N+96RWegxtf38mLWQFt2b+S8diM25yMFn4ox2YzAHShhhISz8ZzB38WPScV3xXGG0F5KyPXk0sLM1/vjx
worker-key: qolNIcgY6rYX64P5O4oF9ugXl3hPi6yUyZlV1SPjt+M=
network-key: Qn8Zhwld5x22fE1GwIg6Hain9iVRi+iam1RDgp8mvhk=
stake: 1
delegation: 0
gas-price: 1
network-address: /dns/la2-suival-2.testnet.sui.io/tcp/8080/http
narwhal-primary-address: /dns/la2-suival-2.testnet.sui.io/tcp/8081/http
narwhal-worker-address: /dns/la2-suival-2.testnet.sui.io/tcp/8082/http
narwhal-consensus-address: /ip4/127.0.0.1/tcp/8083/http
- name: validator-11
account-key: AK6LecW3y0UyqzCHu3lUgffRyhGrxEQPjaHRxCilP6Rp
protocol-key: pVydcYoBSOHxVnw2mOg8YXJyqpDYP+ksefqghJwr3OChJNTa3A2NkDaCRKGcvRm6DPiaqBu8qBUSAfjWE4KHfQIllc7qkWYsRfKi0RYQ3zTFYSjal93Am/cAI1q6QX59
worker-key: PqUDf04k2xNSqR0u2pmaU7L23hIt8gO6B3NoYPsR+RA=
network-key: x/0p4eV6ZQOyRGv9K9hiiaN7TvSfk2AvCttMAVpOoMk=
stake: 1
delegation: 0
gas-price: 1
network-address: /dns/ny2-suival-3.testnet.sui.io/tcp/8080/http
narwhal-primary-address: /dns/ny2-suival-3.testnet.sui.io/tcp/8081/http
narwhal-worker-address: /dns/ny2-suival-3.testnet.sui.io/tcp/8082/http
narwhal-consensus-address: /ip4/127.0.0.1/tcp/8083/http
- name: validator-16
account-key: AImuNvQVTUSNUQrsBSi7dzT+a+wVsSQM5fQMfdQ1CTZ0
protocol-key: qBvUTaWiYjKIledSoTM8rwt4C7dqCVFuUPyQBNDOOSa109JlgUafHGEIeOHrrUlCEnAwTiXs+s2JlwmyegQzJp2ECnbz4JRPzFqbBhS7VDJ7UfydXbq4KDt12q8yb5v4
worker-key: XFw5/sTtKHd47+vpj7uvt+FkAyOq1FnvGS/7be6suoA=
network-key: EEqhzNCQ6/nPfCW7jLMKQS2TGb2dY2CHAme8mlEZGKY=
stake: 1
delegation: 0
gas-price: 1
network-address: /dns/ty6-suival-0.testnet.sui.io/tcp/8080/http
narwhal-primary-address: /dns/ty6-suival-0.testnet.sui.io/tcp/8081/http
narwhal-worker-address: /dns/ty6-suival-0.testnet.sui.io/tcp/8082/http
narwhal-consensus-address: /ip4/127.0.0.1/tcp/8083/http
- name: validator-15
account-key: AFDDthZ/GakRrsI2QZJ8gQFEt+fJvKwpJJoYm+p/NW07
protocol-key: q5U/HPqV6OsFbc5gzr+FPRfBGqyHqO683epGiQ535TOEYRkSi3wZFFUdDfWId7ORD5EIYWj7ZtA4C8uPrP3XsbIQogNizEyDu3CwytSwtcTa4/bIvc8HK/0KoDnPNOG2
worker-key: ydUPJzWYwe3RdAUo5zMZvyAattOKn+wfxwdrQTRpxqA=
network-key: rU4e5yh97eNS5nCaa7EbbqnJVMcHehybdtBlIZjSHdU=
stake: 1
delegation: 0
gas-price: 1
network-address: /dns/mh1-suival-3.testnet.sui.io/tcp/8080/http
narwhal-primary-address: /dns/mh1-suival-3.testnet.sui.io/tcp/8081/http
narwhal-worker-address: /dns/mh1-suival-3.testnet.sui.io/tcp/8082/http
narwhal-consensus-address: /ip4/127.0.0.1/tcp/8083/http
- name: validator-5
account-key: ALaZN89Ud2dli3QScggR+9+2CqSkct2f7qMXQ1osFaBd
protocol-key: rA3xsZLdYP8f1Jhdy/qaAZJTZ1XGza6P167xhffC9qd/ThVdV0K/Pg0t9g5TpYHoEygnvMO8oPyJA2+zwbutgCTRaM1z573NN3mtbjK57R+S7aqwZiN2kI7aoymX9oHs
worker-key: EgpJ/Hdk6X+H8jXxurlwR1EiIlDkryVCQ4HMrk72INQ=
network-key: twXGi96O3XWKERXGzu1Y03Rl6uUr+1Tqx9kGuGV+Gew=
stake: 1
delegation: 0
gas-price: 1
network-address: /dns/dal2-suival-1.testnet.sui.io/tcp/8080/http
narwhal-primary-address: /dns/dal2-suival-1.testnet.sui.io/tcp/8081/http
narwhal-worker-address: /dns/dal2-suival-1.testnet.sui.io/tcp/8082/http
narwhal-consensus-address: /ip4/127.0.0.1/tcp/8083/http
- name: validator-19
account-key: AFhY6i8XnpRoImndz7kj+M6mjIpZz1248oyO5Ou/ajG8
protocol-key: rewCDjFrQpvCurd4M6cl1/icgJsGKombV1OAd0iyskXN4WqXZiP/V7xy7fNZfciwD2k0nl8uQCaLEPXsO/zBL0ZGr2n274JYVm8j4gOekJcUpdAQ3LWPqDh3pRsxBVE+
worker-key: 7J91jtn+//gCHUPIi8Std5hhSFLs9snJhPbnHPueudc=
network-key: 3PKKDx6y6CzV0+eK9G3WvH/queuZe3byCYIOTYIkyiQ=
stake: 1
delegation: 0
gas-price: 1
network-address: /dns/ty6-suival-3.testnet.sui.io/tcp/8080/http
narwhal-primary-address: /dns/ty6-suival-3.testnet.sui.io/tcp/8081/http
narwhal-worker-address: /dns/ty6-suival-3.testnet.sui.io/tcp/8082/http
narwhal-consensus-address: /ip4/127.0.0.1/tcp/8083/http
- name: validator-12
account-key: AAYmiOgJnOyXfMPEwP49TUUUTw4dlIA/8IXeKEv8M4RK
protocol-key: sfQG62p+A88facvLw+lXcDh6TtSaeaRa3D8dhMJpLWgJZ4NRl2JFSaUlYHWwP+zVGSdbyLGm72426wv5cKnVkHM8cxhNvpZRq370bYHTfTAb34WJ2mxHiqx5pChHJp4E
worker-key: UEtOxAHp/invOWPV8Uuls3/46iLdKFJIGEb2zhJIsNs=
network-key: ibWn5j/N9BqepJXTWioH47A2u//ASB3Xug50e7jmJ80=
stake: 1
delegation: 0
gas-price: 1
network-address: /dns/mh1-suival-0.testnet.sui.io/tcp/8080/http
narwhal-primary-address: /dns/mh1-suival-0.testnet.sui.io/tcp/8081/http
narwhal-worker-address: /dns/mh1-suival-0.testnet.sui.io/tcp/8082/http
narwhal-consensus-address: /ip4/127.0.0.1/tcp/8083/http
- name: validator-3
account-key: AIyUji/hvun9TdRLQXpN8UNgn3sIjSosETJWkPSwDzHr
protocol-key: tH2JgU9S5IFnC17arEV0dn2sRlZmgaHpOAVQvIJfvXAnZTOLDwHzepPbFpp3i9g+DzUyeKWSh06N7jILNze8jdhLeZ1fumbu07GgmpL2vdYR3Qbxg64DpsKLPMeNi3V1
worker-key: NM/63ks+HTfHnPSRKU7Yh9I0c5qTm1ajr4akXpBR5V0=
network-key: 5VuCiFi9kAK7QlsZBuymT9xsIG/sPoFcmjHoGn/CPgs=
stake: 1
delegation: 0
gas-price: 1
network-address: /dns/la2-suival-3.testnet.sui.io/tcp/8080/http
narwhal-primary-address: /dns/la2-suival-3.testnet.sui.io/tcp/8081/http
narwhal-worker-address: /dns/la2-suival-3.testnet.sui.io/tcp/8082/http
narwhal-consensus-address: /ip4/127.0.0.1/tcp/8083/http
- name: validator-1
account-key: AG+M0+OIB31YRR/FQKdzt7aP4qUPBQSMyCWK+Da9Zmax
protocol-key: tlb8KVZRWWJZQ6TmpE+5ZL05Vb0TTnCMbJ+kWX5GtcnpaeRiFqlUKiYM5npZCCWyFx8f1VwW5gfg8OejVRlo+weJr50yphZdA53GkbJiOWxSY58DSNTQINB/lEdOAeJQ
worker-key: xplIPV8w5ahH8UaWChJcPrkSVZAGtKwMXCWdT8lSaPU=
network-key: pZdlHJfW9hxT415bG8kusy7m4TDfW0gkNMsx3MVs73o=
stake: 1
delegation: 0
gas-price: 1
network-address: /dns/la2-suival-1.testnet.sui.io/tcp/8080/http
narwhal-primary-address: /dns/la2-suival-1.testnet.sui.io/tcp/8081/http
narwhal-worker-address: /dns/la2-suival-1.testnet.sui.io/tcp/8082/http
narwhal-consensus-address: /ip4/127.0.0.1/tcp/8083/http
- name: validator-6
account-key: AGq4caYZr20U1EM7WkRo6CYVuKfjWmda1b5AGdgaSN2s
protocol-key: t/ueFnCtZPsfXozjLmRwefOht+pyelCaTgctHqOomF5gd0MuXdDSvOCAH3yWiaIVBskY54766sEG0antAeAtJHRwKXHGo99RR5nRRxUbekTvq7T05TTpQxW1pi4Cr/5O
worker-key: MM7hhssxwhocxsg8ZrEYXjMggQsrWaiQzCZpkwv7ya8=
network-key: q1+yp6neJ0VYGcRFDDfarMM6XN+CwiNVmqfc7IElUNY=
stake: 1
delegation: 0
gas-price: 1
network-address: /dns/dal2-suival-2.testnet.sui.io/tcp/8080/http
narwhal-primary-address: /dns/dal2-suival-2.testnet.sui.io/tcp/8081/http
narwhal-worker-address: /dns/dal2-suival-2.testnet.sui.io/tcp/8082/http
narwhal-consensus-address: /ip4/127.0.0.1/tcp/8083/http
- name: validator-0
account-key: APlYeKnmB0RcPB5cYaII7aAvjjAt19cVt3d9eJBCQwjX
protocol-key: uQWpdXdUDiw5/MSyB56qIUZoCOApbKzuXE9MkgjekQsn6PPSLEIydbr16TVKm8ifADeZUnFeIQ39VwT3LBveXXS8ncRoBddREyR/S19AXGWigynhjLi5hNGCfFO+FWHS
worker-key: 6zvKuVVIhIgczd4Gf3AhWzdJyINtK8yxoVLxlUw3kSU=
network-key: 2tgtZR/dK2E9rEfdenqmLKxjqjH0jJV7CcT4ywRA6uw=
stake: 1
delegation: 0
gas-price: 1
network-address: /dns/la2-suival-0.testnet.sui.io/tcp/8080/http
narwhal-primary-address: /dns/la2-suival-0.testnet.sui.io/tcp/8081/http
narwhal-worker-address: /dns/la2-suival-0.testnet.sui.io/tcp/8082/http
narwhal-consensus-address: /ip4/127.0.0.1/tcp/8083/http
send_timeout:
secs: 30
nanos: 0
recv_timeout:
secs: 30
nanos: 0
buffer_size: 650000
db_folder_path: /data/gateway_client_db
24 changes: 15 additions & 9 deletions crates/sui/src/keytool.rs
Original file line number Diff line number Diff line change
Expand Up @@ -60,8 +60,8 @@ pub enum KeyToolCommand {
key_scheme: SignatureScheme,
derivation_path: Option<DerivationPath>,
},
/// This is a temporary helper function to ensure that testnet genesis does not break while
/// we transition towards BLS signatures.
/// Read keypair from path and show its base64 encoded value with flag. This is useful
/// to generate protocol, account, worker, network keys in NodeConfig with its expected encoding.
LoadKeypair {
file: PathBuf,
},
Expand Down Expand Up @@ -155,18 +155,24 @@ impl KeyToolCommand {
}

KeyToolCommand::LoadKeypair { file } => {
let res: Result<SuiKeyPair, anyhow::Error> = read_keypair_from_file(&file);

match res {
match read_keypair_from_file(&file) {
Ok(keypair) => {
// Account keypair is encoded with the key scheme flag {},
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do we prefer not storing the flag for anything apart from account keys? Atm it makes sense as we don't provide crypto agility in these operations, we might however want to reconsider this in the future to have some consistency re key management.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

agreed, left it because this involves adding BLS to enum, therefore to all switch clause on key types. it is quite a large change that i decide to leave out, but worth a revisit to add them eventually.

// and network and worker keypair are not.
println!("Account Keypair: {}", keypair.encode_base64());
println!("Network Keypair: {}", keypair.encode_base64());
if let SuiKeyPair::Ed25519SuiKeyPair(kp) = keypair {
println!("Protocol Keypair: {}", kp.encode_base64());
println!("Network Keypair: {}", kp.encode_base64());
println!("Worker Keypair: {}", kp.encode_base64());
};
}
Err(e) => {
println!("Failed to read keypair at path {:?} err: {:?}", file, e)
Err(_) => {
// Authority keypair file is not stored with the flag, it will try read as BLS keypair..
match read_authority_keypair_from_file(&file) {
Ok(kp) => println!("Protocol Keypair: {}", kp.encode_base64()),
Err(e) => {
println!("Failed to read keypair at path {:?} err: {:?}", file, e)
}
}
}
}
}
Expand Down