SOLUTION for (Formerly Created) Accounts who Can Not Update Profile Settings

in Steem Schools3 years ago

If you created an account on Steem a few years ago and did not set any properties of your profile including “Display Name”, “About”, “Profile Image”, “Cover Image”, “Website”, “Location”; you may encounter an issue which prevents you from updating your Public Profile Settings now.

Many users have returned to Steem to start blogging again. Some of them report that they can not update their profile images (and other profile settings as well). When I made it investigated by a developer, he provided me with the following solution.

If you have this issue, you will see a page like this that has just Preferences but not “Public Profile Settings” when you visit https://steemit.com/@your-username/settings (change “your-username” with your exact username. For example; it’s “enveng” for me). So it’s not possible to update your profile settings via this page at the moment.
preferences.png

If you haven’t set any profile data before, you can also be sure while visiting https://steemit.com/@your-username.json. If the json_metadata property looks like this: "json_metadata":"", this is another indicator that you may have been affected by this issue.
It’s okay if it looks like this: “json_metadata”: { }

SOLUTION

CAUTION !!

If you don’t have this issue, do not run this code. Otherwise it will override your previous public profile settings. It’s easy to modify this code to not override. But I encourage you to update your profile settings on the Steemit frontend. It’s easier for not-dev users.

You should broadcast your profile settings (json_metadata) to the blockchain. This will update your profile settings and help Steemit frontend to catch your new json_metadata property and render “Public Profile Settings”. So you can use Steemit frontend for your next updates. Steemit Team (@steemitblog, @steemcurator01) can provide a permanent solution by updating Steemit Condenser to make the frontend render “Public Profile Settings” section for these types of accounts.

If you’re familiar with javascript development, you can load steemjs package and run the following code in your local environment.

But most of the users are not developers. So please follow the instructions below.

Step 1

Witness @justyy created a tool that has steemjs and dsteem loaded already. Open this link in a new window => https://steemyy.com/steemjs/
You will see an online code editor.

Step 2

You have two options here:
1- You can use the provided code editor.
2- You can open your browser’s console on the newly opened page (Usually by clicking F12 and selecting “console” tab, or OPTION+COMMAND+J) Click if you need help

Whichever option you chose, clear formerly written code and paste the following code there.

steem.api.getAccounts(['YOUR_USERNAME_HERE'], function(err, response){
    if(!err) {
        const account = response[0];
        const metadata = `{"profile":{"cover_image":"IMAGE_URI_HERE","profile_image":"IMAGE_URI_HERE","name":"YOUR_USERNAME_HERE","website":"","about":"","location":"","version":2}}`
        steem.broadcast.accountUpdate('WIF_HERE', 'YOUR_USERNAME_HERE', undefined, undefined, undefined, account.memo_key, metadata, function(err, result) {
                console.log(result, err);
   });
    }
});

You need to modify these values:
YOUR_USERNAME_HERE (write your Steem username here)
IMAGE_URI_HERE (If you want to update your cover and profile images, copy&paste the related image link here)
WIF_HERE (WIF is needed as a first parameter for the accountUpdate method to proceed. copy&paste your ACTIVE PRIVATE KEY here.)

Why Private Active Key?
Because account_update operation requires an active or owner key. See (from steemjs implementation):

{
        roles: ["active", "owner"],
        operation: "account_update",
        params: ["account", "owner", "active", "posting", "memo_key", "json_metadata"]
}

After making necessary modifications; run the code by clicking Run on justyy’s online editor or clicking Enter on your browser’s console.

CAUTION !!

1- You should not share your private keys with third parties!
2- Clear the history of your browser console (Usually can be achieved by a right-click on the console and select “Clear History” option)
3- If you do not trust the source of a code, Do NOT copy&paste anything to your browser console! Malicious people may steal your keys. It would be really nice if @justyy, @steemchiller and other developers check the provided solution and write their thoughts.

Result

Open your Steemit profile (for me it’s https://steemit.com/@enveng), or reload the page if your profile is open on a window already.
If you succeed, you will see your new profile settings applied.

You can ensure you have broadcasted your new profile settings with the help of SteemWorld (https://steemworld.org/@your-username) created by witness @steemchiller.

You will see an account operation that looks like the following image:

username.png

“Public Profile Settings” section will be rendered for you too after a while. If you saw the Account Update line on SteemWorld, it means you succeeded. Please, do not do the previous steps again and again.

settings.png

I hope this post will be helpful for the users who have this problem
Thank you for reading my post 😊

enveng-footer-ss-hr.gif

Sort:  

Hi dear @cryptokannon, when I checked the Steemit Feedback Community, I saw that you are one of the leaders of this team. So, I wanna call your attention to this post. Thanks to you, this solution can reach more people who have this problem.

Coin Marketplace

STEEM 0.19
TRX 0.15
JST 0.029
BTC 63843.45
ETH 2624.02
USDT 1.00
SBD 2.76