Eine Kopie von achimmertens

Dieser Text wurde kopiert und automatisch hochgeladen. Da der Account von anobel mir (Achim Mertens) gehört, habe ich mich selber plagiiert ;-)

Hallo liebe Hiveaner,

(english see below)

heute ist für mich ein ganz besonderer Tag. Ich habe es nach jahrelangem Lernen und Ausprobieren geschafft, mit Hilfe eines Javascriptprogrammes in die Hive Blockchain hinein zu schreiben. Das ist für mich ein riesiger Meilenstein, der höchste Programmier-Gipfel, auf dem ich je gestanden habe.

grafik.png
Dieses Bild wurde erschaffen mit https://creator.nightcafe.studio/

Ich will euch natürlich nicht vorenthalten wie es geht. Im nachhinein sieht es ja auch ganz leicht aus ;-)

Upvote

Hier ist mein Javascript Code um ein Upvote an ein bestehenden Post zu geben:

import hive from '@hiveio/hive-js';
const privateKey = '5J...';
hive.api.setOptions({ url: 'https://api.hive.blog' });
const voter = 'anobel';
const author = 'achimmertens';
const permlink = 'weekly-statistics-for-the-beerbot-rvz3l6';
hive.broadcast.vote(
  privateKey,
  voter,
  author,
  permlink,
  5000, // entspricht 50% Upvote
  function(err, result) {
    console.log(err, result);
  }
);

Diesen Code habe ich in eine Datei namens vote.js gespeichert. Die liegt in einem Projektordner, der mit Github verbunden ist. D.h. ihr könnt den Code hier im Original sehen.

Nach dem Erstellen des Scripts muss Node aktuallisiert werden, bzw. das hive-js Modul geladen werden:

$ npm i @hiveio/hive-js

Damit aber noch nicht genug (bei mir). Wegen der Fehlermeldung:

    $ node vote.js
    (node:4488) Warning: To load an ES module, set "type": "module" in the package.json or use the .mjs extension. 

musste ich dann noch in die package.json hinzufügen:

"type": "module",

grafik.png

Nun kann man das Script wie folgt ausführen:

$ node vote.js

Man erhält eine Rückbestätigung:

null {
  id: 'd2c36097286aa26c965205c3080fd98e9579d8ab',
  ref_block_num: 12506,
  ref_block_prefix: 1667678884,
  expiration: '2023-06-15T04:43:03',
  operations: [ [ 'vote', [Object] ] ],
  extensions: [],
  signatures: [
    '1f56a8a4d779f39c6f1eaf1448960999f550c725cbad46cae228468d603043dfb130adf7b2e6e0d57bf7dcaf00918c0a22f6aeb8c70718c08b006124a6c3608973'
  ]
}

Und tatsächlich erkennt man, dass der Voter "anobel" in der Peakd-Ansicht erscheint:

grafik.png

Aber damit nicht genug. Jetzt will ich mehr.

Kommentar

Mit folgendem Code bin ich in der Lage einen Kommentar zu schreiben:

import hive from '@hiveio/hive-js';
import config from './config.js';
const privateKey = config.privateKey;
hive.api.setOptions({ url: 'https://api.hive.blog' });
const parentAuthor = 'achimmertens';
const parentPermlink = 'weekly-statistics-for-the-beerbot-rvz3l6';
const author = 'anobel';
const permlink = new Date().toISOString().replace(/[^a-zA-Z0-9]+/g, '').toLowerCase();
const title = '';
const body = 'Hallo, hier ist anobel. Dies ist mein erster Kommentar seit langem.';
hive.broadcast.comment(
  privateKey,
  parentAuthor,
  parentPermlink,
  author,
  permlink,
  title,
  body,
  { tags: ['test'], app: 'test/0.1' },
  function(err, result) {
    console.log(err, result);
  }
);

Und Tadaaa, hier ist das Ergebnis:

grafik.png

Wie geht es weiter

Da mir nun viele Türen offen stehen, möchte ich auch ausprobieren, wie man ganze Posts erstellt (Soll einfach sein, indem man einen Titel im Kommentarfeld einfügt). Ich möchte aber auch automatisiert Hive und Nobel-Token verschicken können. Ich habe da ein paar Ideen, die sind aber noch nicht Spruchreif.

Fazit:

Der Damm ist gebrochen.

grafik.png
origin: https://dreamlike.art/create

Ich kann nun meine Reports, die ich tatsächlich (teilautomatisiert erstelle und) noch von Hand in die Blockchain schreibe, zumindest im Prinzip ganz automatisieren. Sicher sind da noch weitere Berge zu erklimmen, aber der wichtigste Schritt ist jetzt getan.

Im Übrigen bin ich sehr dankbar für die neuen Möglichkeiten der KI. Ohne ChatGPT bzw. Bing hätte es wohl deutlich länger gedauert, um an diese Ergebnisse zu kommen. Allerdings spucken diese neuen Intelligenzen nicht auf Anhieb raus was gewünscht ist oder funktionert. Aber mit ein bischen Backgroundwissen und Einlesen in die Hive-API und Hive-Doku kommt man dann irgendwann doch voran.

Ich habe da schon lange darauf hin gearbeitet und bin so glücklich, dass ich heute Abend zusammen mit meiner Frau eine Flasche Sekt aufmache.

grafik.png
origin: https://dreamlike.art/create

In diesem Sinne: Prost!


English

Hello dear Hiveans,

today is a very special day for me. After years of learning and trying, I managed to write into the Hive blockchain using a Javascript program. This is a huge milestone for me, the highest programming summit I've ever stood on.

graphic.png
This image was created with https://creator.nightcafe.studio/

Of course I don't want to withhold from you how it's done. In hindsight it looks easy ;-)

Upvote

Here is my javascript code to upvote an existing post:

import hive from '@hiveio/hive-js';
const privateKey = '5J...';
hive.api.setOptions({ url: 'https://api.hive.blog' });
const voter = 'anobel';
const author = 'achimmertens';
const permlink = 'weekly-statistics-for-the-beerbot-rvz3l6';
hive.broadcast.vote(
   private key,
   voter,
   author,
   permlink,
   5000, // equals 50% upvote
   function(err, result) {
     console.log(err, result);
   }
);

I saved this code in a file called vote.js. It's in a project folder connected to Github. That means you can see the original code here.

After creating the script, Node must be updated or the hive-js module must be loaded:

$npm i @hiveio/hive-js

But that's not all (for me). Because of the error message:

$ node vote.js
(node:4488) Warning: To load an ES module, set "type": "module" in the package.json or use the .mjs extension.

I then had to add to the package.json:

"type": "module",

graphic.png

Now you can run the script as follows:

$ node vote.js

You will receive a confirmation:

null {
   ID: 'd2c36097286aa26c965205c3080fd98e9579d8ab',
   ref_block_num: 12506,
   ref_block_prefix: 1667678884,
   expiration: '2023-06-15T04:43:03',
   operations: [ [ 'vote', [Object] ] ],
   extensions: [],
   signatures: [
     '1f56a8a4d779f39c6f1eaf1448960999f550c725cbad46cae228468d603043dfb130adf7b2e6e0d57bf7dcaf00918c0a22f6aeb8c70718c08b006124a6c3608 973'
   ]
}

And indeed you can see that the voter "anobel" appears in the Peakd view:

graphic.png

But that's not all. Now I want more.

comment

With the following code I am able to write a comment:

import hive from '@hiveio/hive-js';
import config from './config.js';
const privateKey = config.privateKey;
hive.api.setOptions({ url: 'https://api.hive.blog' });
const parentAuthor = 'achimmertens';
const parentPermlink = 'weekly-statistics-for-the-beerbot-rvz3l6';
const author = 'anobel';
const permlink = new Date().toISOString().replace(/[^a-zA-Z0-9]+/g, '').toLowerCase();
const title = '';
const body = 'Hello, this is anobel. This is my first comment in a long time.';
hive.broadcast.comment(
   private key,
   parentAuthor,
   parentPermLink,
   author,
   permlink,
   title,
   body,
   { tags: ['test'], app: 'test/0.1' },
   function(err, result) {
     console.log(err, result);
   }
);

And tadaaa, here is the result:

grafik.png

What's next

Now that many doors are open to me, I would also like to try how to create whole posts (should be easy by putting a title in the comment field). But I would also like to be able to send Hive and Nobel tokens automatically. I have a few ideas, but they're not ready for decision yet.

Conclusion:

The dam has broken.

graphic.png
origin: https://dreamlike.art/create

I can now fully automate my reports, which I actually create (partially automatically and) still write into the blockchain by hand, at least in principle. There are certainly more mountains to climb, but the most important step has now been taken.

Incidentally, I am very grateful for the new possibilities of AI. Without ChatGPT or Bing it would have taken much longer to get these results. However, these new intelligences do not immediately spit out what is desired or works. But with a bit of background knowledge and reading into the Hive-API and Hive-doku you get there.

I've been working toward this for a long time and I'm so happy that I'm opening a bottle of sparkling wine with my wife tonight.

grafik.png
origin: https://dreamlike.art/create

Cheers, Anobel

Sort:  

Link to the previous post

Reposting previous posts or parts of them without significant additional original content/changes is considered fraud and exploitation of the "Hive Reward Pool". Publishing such content may result in the account being Blacklisted.
Please refrain from copying and pasting previous posts going forward.

If you believe this comment is in error, please contact us in #appeals in Discord.

Congratulations @anobel! You have completed the following achievement on the Hive blockchain And have been rewarded with New badge(s)

You made more than 50 comments.
Your next target is to reach 100 comments.

You can view your badges on your board and compare yourself to others in the Ranking
If you no longer want to receive notifications, reply to this comment with the word STOP