My OneName is “rawkode” and I’ve tried using the website to transfer. I got my address from running “blockstack import”.
OneName seems to think my profile is pending some change, and told me to wait 12 hours. I’ve waited about 3 months and gave up, but keen to resolve this now.
@rawkode I looked into this and can confirm that your name is not in the transfer queue. Your name was transferred out of onename.com in BLOCK #449730.
The reason why onename.com/rawkode is saying “profile pending” is because your data on the resolver and onename.com differs. The resolver is not resolving your profile data because your owner address has changed and the data is still signed by the previous key. We do this for security. You need to sign the data with the new owner key and upload it again for the profile to resolve.
@rawkode Sorry for the delay. What this means is that you need to update your profile data and re-sign it with the new keys.
We’re working on an improved profile update command that makes it easy to do this. We’ll have a step-by-step command-line wizard that helps to generate a new valid profile.
This means that your owner address is 1JNQFBEBQDLMTwaTVGFcNfADceBehfK2a4 and your zonefile is:
$TTL 3600
_http._tcp URI 10 1 "https://blockstack.s3.amazonaws.com/rawkode.id"```
If you go to https://blockstack.s3.amazonaws.com/rawkode.id you'll see that there is data there but it's signed by your old owner keypair. You need to generate your new profile data. This is where a step-by-step wizard can be really helpful. There are two packages [blockstack-profiles-js](https://github.com/blockstack/blockstack-profiles-js) and [blockstack-profiles-py](https://github.com/blockstack/blockstack-profiles-py) that can be used to create and sign a valid profile.
You can upload your data to your storage backend like S3. Let's assume you got the bucket "rawcode" then your URL would look something like https://rawcode.s3.amazonaws.com/rawkode.id.
You can then create a new zonefile like:
```$ORIGIN rawkode.id
$TTL 3600
_http._tcp URI 10 1 "https://rawcode.s3.amazonaws.com/rawkode.id"```
And use the step in this [update tutorial](https://www.youtube.com/watch?v=wA01UJwu7CY&t=220s&list=PLXS8JJHIn4nGCU2uW85dHXpkQJ7QA5JkX&index=5) to update your zonefile.
We realize that the manual steps are not user-friendly at all and we're working on automating this process for the users. I've started a [Github issue](https://github.com/blockstack/blockstack-core/issues/278) and you can track it to see when the new automated way of doing this gets merged. Once again thanks for your patience while we iron out the UX.
I’d also point out that @jude has been working on giving users a “default storage bucket” so that they can skip the steps about creating their own storage buckets at providers and then linking them. This would make the process similar to how users sign up on the Onename app and get a default storage space. Ideally, all users should use their own storage and not trust public default storage places provided by services.
Hey @rawkode, you did everything right. There’s just one more step you have to take, and that is to re-sign your profile with your new private key (i.e. not the one Onename used) and upload that to your S3 bucket.
To do so, run the following:
$ # get your profile
$ curl https://www.rawkode.com/blockstack.id > /tmp/blockstack.id
$ blockstack set_advanced_mode on
$ blockstack wallet | grep "owner_privkey" # remember this ECDSA private key as $OWNER_PRIVKEY
$ blockstack sign_profile /tmp/blockstack.id $OWNER_PRIVKEY > /tmp/new_blockstack.id
$ # verify the signature worked
$ blockstack verify_profile rawkode.id /tmp/new_blockstack.id
Once that works, you can put /tmp/new_blockstack.id into your S3 bucket, and blockstack lookup should work as expected.
Yeah, I followed your instructions all the way through the first time, but I got the key error. Then I started experimenting, but the key error continues to persist.
I’ve even tried curling my old profile (below link) and using your steps with that. Still “Invalid public key”