Created
December 24, 2024 23:02
-
-
Save edavis/9744cab891f0a0878618f278502c3ba8 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
* Migration | |
** Blank env | |
export INVITECODE= | |
export ACCOUNTDID=did:plc:XXX | |
export OLDPDSHOST=https://bsky.social | |
export OLDPDSSERVICEDID=did:web:bsky.social | |
export OLDHANDLE= | |
export OLDPASSWORD="" | |
export NEWPDSHOST=https://pds.merklehost.xyz | |
export NEWPDSSERVICEDID=did:web:pds.merklehost.xyz | |
export NEWHANDLE= | |
export NEWPASSWORD="" | |
export NEWEMAIL= | |
# these come later in the process | |
export SERVICEAUTH= | |
export PLCTOKEN= | |
export ROTATIONKEY= | |
** Prep | |
- [X] create a empty directory to store everything | |
- [X] `touch env` and add template from above | |
- [X] pdsadmin create-invite-code # for use in account creation (if `inviteCodeRequired`) | |
- [X] add INVITECODE to env, save, and source | |
- [X] echo $ACCOUNTDID # to make sure new vars have loaded | |
- [X] goat account login -u $OLDHANDLE -p $OLDPASSWORD | |
- [X] goat account service-auth --lxm com.atproto.server.createAccount --aud $NEWPDSSERVICEDID --duration-sec 3600 | pbcopy | |
- [X] add SERVICEAUTH to env, save, and source | |
- [X] goat account plc request-token | |
- [X] add PLCTOKEN to env, save, and source | |
** Export/Import | |
- [X] goat account status # note count of records/blobs and repoCommit | |
- [X] goat repo export $ACCOUNTDID | |
- [X] goat blob export $ACCOUNTDID | |
- [X] goat bsky prefs export > prefs.json | |
- [X] goat account logout | |
- [X] goat account create --pds-host $NEWPDSHOST --existing-did $ACCOUNTDID --handle $NEWHANDLE --password $NEWPASSWORD --email $NEWEMAIL --invite-code $INVITECODE --service-auth $SERVICEAUTH | |
- [X] goat account login --pds-host $NEWPDSHOST -u $ACCOUNTDID -p $NEWPASSWORD | |
- [X] goat repo import ./${ACCOUNTDID}.*.car | |
- [X] goat account status | |
- [X] fd . ./${ACCOUNTDID}_blobs/ | parallel -j1 goat blob upload {} | |
- [X] goat bsky prefs import prefs.json | |
- [X] goat account status | |
** PLC | |
- [X] goat account plc recommended > plc_unsigned.json | |
- [X] goat crypto generate -t secp256k1 | pbcopy | |
- [X] add ROTATIONKEY to env, save, and source | |
- [X] goat crypto inspect $ROTATIONKEY | |
- [X] (add DID Key to `rotationKeys`, if setting a rotation key) | |
- [X] goat account login -u $OLDHANDLE -p $OLDPASSWORD | |
- [X] goat account plc sign --token $PLCTOKEN ./plc_unsigned.json > plc_signed.json | |
- [X] goat account login --pds-host $NEWPDSHOST -u $ACCOUNTDID -p $NEWPASSWORD | |
- [X] goat account plc submit ./plc_signed.json | |
** Cutover | |
- [X] goat account status | |
- [X] goat account activate | |
- [X] goat account login --pds-host $OLDPDSHOST -u $ACCOUNTDID -p $OLDPASSWORD | |
- [X] goat account deactivate |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment