Wie lassen sich qualitativ hochwertige Luftaufnahmen herstellen?

Hochwertige Luftaufnahmen sind gefragt. In Spielfilmen und Dokumentationen gehören sie einfach dazu, aber auch für den Stockvideobereich oder eigene Urlaubsaufnahmen sind Luftaufnahmen eine wunderbare Ergänzung. Doch wie werden diese aufgenommen?

Leichtere Aufnahmemöglichkeiten durch neue Techniken

Was früher noch von einem riesigen Kran oder einem Helikopter erledigt werden musste, kann heute mit einer Drohne sehr viel leichter hergestellt werden. Drohnen haben durch eine immer besser werdende Technik auch eine immer höhere Bandbreite an Qualität der Aufnahmen zu bieten. Viele Drohnen kommen heute mit der Möglichkeit von 4K Aufnahmen, was sich selbst für hochwertige Filme noch verwenden lässt. Mittels der Drohnen ist es sehr leicht geworden, gute Luftaufnahmen zu filmen und die Bilder hinterher zu verarbeiten. Auch werfen Drohnen anders als ein Helikopter keine größeren störenden Schatten auf den Boden. Da Drohnen leicht zu handhaben und erschwinglich sind, sind diese für Luftaufnahmen nicht nur für den professionellen Film, sondern auch für den privaten Gebrauch einsetzbar.

Drohnen für den privaten Gebrauch

Wer eine Drohne für den privaten Gebrauch sucht, möchte diese meist einsetzen, um selbst einmal Luftaufnahmen zu machen und damit eine neue Perspektive zu erforschen oder schöne Urlaubsmomente festzuhalten. Dafür ist es wichtig, dass die Drohe leicht und einfach zu transportieren ist. Viele Hersteller bieten daher heute leichte Drohnen an, bei denen die Rotorblätter eingeklappt werden können. Wer sich für ein ganz leichtes Modell entscheiden möchte, kann sogar eine Drohne unter 250g bekommen. Diese lässt sich besonders gut verstauen und kann auch auf längere Wanderungen problemlos mitgenommen werden. Achtung nur bei der Flughöhe: Drohnen dürfen nicht höher als 120 Meter fliegen. Manche Drohnen können höher fliegen, sollten aber entsprechend gedrosselt werden. Etwas anders sieht es in den Bergen aus. Es ist erlaubt, eine Drohne von einem bis zu 5000 Meter über dem Meeresspiegel liegenden Punkt aus starten zu lassen.

Welche Features bieten Drohnen für Luftaufnahmen an?

Viele Drohnen bieten besondere Features für beste Luftaufnahmen an. Dazu gehört nicht nur die standartmäßig hohe Qualität der Aufnahmen. Mit verschiedenen Techniken wird dafür gesorgt, dass die Luftaufnahmen auch bei schlechter Lichtqualität noch beste Ergebnisse erzielen. Manche Drohnen können vertikale Bilder aufnehmen. Dies ist dann interessant, wenn die Luftaufnahmen für den eigenen Social Media Account genutzt werden sollen. So müssen die Videos nicht mehr weiter bearbeitet werden, sondern können gleich hochgeladen werden.

Die Zukunft der TV-Informationssysteme: Wo geht die Reise hin?

TV-Informationssysteme sind eine wichtige Informationsquelle für viele Menschen. Sie bieten einen Überblick über das aktuelle Fernsehprogramm und informieren über aktuelle Ereignisse. Aber wie funktionieren TV-Informationssysteme und welche Entwicklungen sind in Zukunft zu erwarten?

Die Bedeutung von TV-Informationssystemen

TV-Informationssysteme sind ein wichtiger Bestandteil unserer heutigen Kommunikationslandschaft. Die meisten Haushalte in Deutschland verfügen über einen Fernseher, und die Zahl der Internetnutzer wächst weiter.

Dabei ist TV nicht mehr nur ein reines Unterhaltungsmedium, sondern bietet auch zunehmend Informationsmöglichkeiten. Fernsehsender bieten Nachrichten, Dokumentationen und Ratgeberprogramme an, die für viele Menschen eine wertvolle Informationsquelle darstellen.

Auch im Bereich der Werbung nutzen immer mehr Unternehmen die Möglichkeiten von TV-Informationssystemen. Die interaktiven Funktionen von TV-IS ermöglichen es den Nutzern, gezielt auf die Angebote der Werbekunden zu reagieren und so den Mehrwert des Mediums zu steigern.

Entwicklungsperspektiven: Wo geht die Reise hin?

In den kommenden Jahren werden die Funktionen von TV-Informationssystemen weiter zunehmen. Dies ist auf die steigende Nachfrage nach personalisierten und interaktiven Inhalten zurückzuführen. Die Systeme werden in der Lage sein, dem Zuschauer eine Vielzahl von personalisierten Optionen anzubieten, um seine Erfahrung zu verbessern. Dazu gehören:

  • Individuelle Programmvorschläge: Das System wird in der Lage sein, dem Zuschauer personalisierte Vorschläge für Sendungen und Filme basierend auf seiner bisherigen Fernsehgewohnheiten zu unterbreiten.
  • Erweiterte Suchmöglichkeiten: Die Suche nach Sendungen und Filmen wird einfacher und intuitiver werden. Zusätzlich wird es dem Zuschauer ermöglicht, nach bestimmten Kriterien zu filtern, um die Suche einzugrenzen.
  • Social Media Integration: Die TV-Informationssysteme werden enger mit sozialen Netzwerken integriert sein. Dies ermöglicht es den Nutzern, Inhalte mit Freunden und Familie zu teilen und gemeinsam zu genießen.
  • Verbesserte Benutzeroberfläche: Die Benutzeroberflächen der TV-Informationssysteme werden intuitiver und benutzerfreundlicher gestaltet sein. Dies erleichtert es den Nutzern, sich in dem System zurechtzufinden und die gewünschten Inhalte schneller zu finden.

Fazit

Ein klares Fazit lässt sich bezüglich der Zukunft TV-Informationssysteme nicht ziehen, da die Technologie stetig weiterentwickelt wird und die Anforderungen an die Systeme stetig steigen. So ist es möglich, dass in einigen Jahren vollkommen neue Systeme auf dem Markt sind, die die heutigen TV-IS in Sachen Funktionen und Benutzerfreundlichkeit in den Schatten stellen werden.

Webhosting: Das sollten Verbraucher wissen

Ganz gleich, ob man sich einen eigenen Blog oder eine Webseite aufbaut, Webhosting ist immer essenziell. Doch was genau ist Webhosting eigentlich und wie funktioniert es? Alle wichtigen Informationen rund ums Thema gibt dieser Artikel.

Was versteht man unter Webhosting?

Wer eine Webseite betreiben will, braucht Webhosting. Doch was ist das überhaupt? Man kann sich Webhosting wie eine Art Miete vorstellen. Damit andere User über das Internet auf eine Webseite zugreifen können, muss sie auf einem Server gespeichert sein. Es wird jedoch kein ganzer Server für eine Webseite benötigt, sondern lediglich ein gewisses Speichervolumen. Dieses wird von einem Webhosting-Anbieter vermietet, sodass die Webseite online gehen kann. Die Inhalte einer Webseite sind schließlich über den Server des Webhosters mit dem Internet verbunden.

Die verschiedenen Arten von Webhosting

Es gibt unterschiedliche Formen von Webhosting. Sie richten sich nach den Ansprüchen von Webseitenbetreibern. Diese können je nach Intention anders ausfallen. Ein privater Blog stellt beispielsweise ganz andere Anforderungen als die Unternehmenswebseite eines großen Konzerns.

Eine Form des Webhostings nennt sich Shared Hosting. Hier wird die Webseite gemeinsam mit vielen anderen auf einem Server gespeichert. Diese Art des Hostings ist die wohl bekannteste und beliebteste. Da sich Webseitenbetreiber einen Server teilen, fallen die Kosten nicht allzu hoch aus.

Eine weitere Möglichkeit ist der Virtual Dedicated Server. Hier teilen sich Nutzer die Hardware eines Servers. Allerdings werden ihre Accounts als eigene virtuelle Systeme angelegt, sodass sie mehr voneinander getrennt sind. Nutzer haben den vollen Zugriff auf das Betriebssystem des Servers. Es wird also ein gewisses Know-how vorausgesetzt.

Dann ist da noch der Dedicated Server. Er mag für ein großes Projekt Sinn machen. Denn hier mieten Webseitenbetreiber einen ganzen Server von einem Webhoster. Dadurch bekommen sie den vollen Zugriff auf den Server. Allerdings geht dies mit einem großen Nachteil einher: Sie müssen sich ebenfalls um die Wartung und Pflege kümmern und sind für die Sicherheit verantwortlich. Bei herkömmlichen Webhosting-Modellen ist dies nicht der Fall.

Eine weitere Form ist das Managed Hosting. Hier liegen die Inhalte ebenfalls auf einem eigenen Server, doch Nutzer haben nicht die volle Kontrolle. Der Webhoster übernimmt dafür Wartung und Administration, was vielen sehr entgegenkommt.

Zu guter Letzt gibt es noch das Cloud Hosting. Hier sind Webseitenbetreiber nicht an eine Hardware-Ressource gebunden. Alles findet in der Cloud statt, was als besonders ausfallsicher gilt. Außerdem können Nutzer die benötigte Performance jederzeit anpassen. Die Flexibilität bei Cloud Hosting überzeugt.

Windows: Welche Variante eignet sich am besten?

Windows zählt wohl zu den beliebtesten Betriebssystemen schlechthin. Doch Verbraucher stehen nicht selten vor der schwierigen Frage: Welches Windows-System eignet sich für mich am besten? Wir geben einen Überblick über die Faktoren, die es bei der Suche nach einem geeigneten System zu beachten gilt.

Muss es die neueste Windows-Version sein?

Wer sich einen neuen Computer anschafft, muss meist nicht viel darüber nachdenken, ob er Windows 10 kaufen möchte oder sich eine ältere Version besorgt. Denn meist ist das Betriebssystem beim Kauf schon mit dabei. Doch wie steht es um diejenigen, die noch kein Betriebssystem haben?

In vielen Fällen empfiehlt es sich tatsächlich, eine möglichst neue Windows-Variante zu bestellen. Diese ermöglicht es, viele Programme zu betreiben. Denn einige Softwareprogramme sträuben sich ab einem gewissen Alter eines Betriebssystems.

Übrigens: Auch der Funktionsumfang verbessert sich von Version zu Version. So bietet Windows 10 bereits viel mehr als Windows 7 oder noch ältere Varianten. Auch die Optik und die Benutzerfreundlichkeit werden um einiges verbessert – hier können sich User also freuen!

Welche Versionen gibt es von Windows?

Übrigens: Nicht nur das Jahr, in dem eine Version von Windows released wurde, ist relevant. Es gibt auch verschiedene Editionen, die sich individuell an die eigenen Ansprüche anpassen lassen. So gibt es für Unternehmen zum Beispiel Windows Enterprise und für Menschen, die im Home Office arbeiten, Windows Professional. Schüler und Studenten profitieren ebenfalls für eigens dafür konzipierte Editionen. So ist für jeden genau das Richtige dabei.

Vor dem Kauf eines Betriebssystems sollte man sich immer damit auseinandersetzen, welche Anforderungen man an Windows stellt und welche Funktionen besonders von Bedeutung sind. Vielleicht kann man aber auch auf gewisse Features verzichten – womöglich benötigt man aber die volle Bandbreite.

Ganz gleich, wofür man Windows benötigt – für jeden Verwendungszweck gibt es die richtige Edition. Man sollte nur die eigenen Ansprüche kennen. Denn ein Privathaushalt benötigt für gewöhnlich einen geringeren Funktionsumfang als eine Firma.

Rootserver: Was ist das und wofür brauche ich ihn?

Der Rootserver ist ein wichtiger Teil der Internets. Doch welche Aufgaben erfüllt er überhaupt? Und warum lohnt es sich, einen eigenen Rootserver zu besitzen? Diese Fragen beantwortet folgender Artikel.

Was ist ein Rootserver?

Der Rootserver hat auch den Namen DNS-Root-Server oder Root-Nameserver. Es handelt sich um einen Server, welche grundlegende Funktionen bei der Übersetzung eines Domain-Namens in eine IP-Adresse übernimmt. Er ist es, der die Client-Anfragen – sogenannte Requests – beantwortet.

Die höchste Ebene im Namensraum vom DNS ist die Root-Zone. Hier führen Root-Nameserver die Namensauflösung keineswegs selbst aus – sie geben den anfragenden Clients die Auskunft, von welchem anderen DNS-Server sie weitere Informationen erhalten, um die angeforderte IP-Adresse zu ermitteln.

Dies geschieht über eine Root-Zone-Datei. Sie ist ein fester Bestandteil eines jeden Rootservers. Diese Datei hat lediglich eine Größe von 2 MB. Dennoch sind auf ihr sämtliche IP-Adressen und Namen von Nameserver aller Top-Level-Domains enthalten.

Die Daten sind sehr essenziell. Sie sind es, auf die der Rootserver zurückgreift, wenn er dem Client einen Nameserver nennt, bei dem weitere Informationen zu einer Request vorliegen.

Wofür benötigt man einen Rootserver?

Wer einen eigenen Rootserver besitzt, hat die volle Kontrolle darüber und hat uneingeschränkten Zugriff auf das Betriebssystem. Meist sind das Windows, Linux oder CentOS. Somit kann man alle verfügbaren Ressourcen nutzen, Konfigurationen vornehmen oder auch die Software ändern. Auch hinsichtlich der Serversicherheit hat man alles selbst in der Hand, wenn man einen Rootserver mieten oder kaufen möchte.

Doch wofür nutzt man einen Rootserver in der Praxis? Ihm werden viele Aufgaben zuteil. So dient er häufig als Mailserver, doch auch als TeamSpeak-Server, Dateiserver oder Gamingserver kann er eingesetzt werden. Der Vorteil eines Rootservers gegenüber herkömmlichen Servern ist, dass er mehrere Aufgaben gleichzeitig erfüllen kann. So kann er beispielsweise sowohl als Datenbank als auch als Datenverteiler fungieren.

Die Arten von Rootservern

Grundsätzlich unterscheidet man zwischen zwei Arten von Rootservern. Es gibt den physischen und den virtuellen Rootserver. Der physische Server wird auch als dedizierter oder dedicated Server bezeichnet. Das Rechenzentrum kann sich bei dieser Variante auf der ganzen Welt befinden, da der Administrator direkten Zugriff über das Internet hat. Die Besonderheit ist jedoch, dass es sich hier um eine reale Hardware handelt.

Der virtuelle Rootserver verzichtet auf Hardware. Hier wird lediglich ein virtueller Computer installiert. Der Preis ist deshalb etwas günstiger, doch bei hohem Arbeitsaufwand kann die Performance sinken.

Dokumentenmanagement im 21. Jahrhundert – die Zukunft ist papierlos!

In jedem Unternehmen werden täglich viele Dokumente erstellt, bearbeitet und abgelegt. Oftmals geschieht dies auf unsystematische Weise, was zu einem enormen Chaos führen kann. In Zeiten von immer größeren Datenmengen und steigenden Ansprüchen an die Organisation ist es daher wichtiger denn je, ein effizientes Dokumentenmanagementsystem (DMS) zu implementieren.

1. Vorteile eines DMS?

Ein DMS hilft nicht nur bei der Ablage und Archivierung von Dokumenten, sondern bietet auch eine Vielzahl weiterer Funktionen wie etwa die Versionierung, Freigabe- und Zugriffsverwaltung oder die Integration in andere Unternehmensanwendungen. Mit einem DMS lassen sich außerdem Papierdokumente digitalisieren und so die Arbeitsabläufe optimieren. Für viele Unternehmen ist dieses inzwischen daher unverzichtbar geworden, insbesondere dann, wenn es um sensible oder vertrauliche Daten geht.

Auch in Bezug auf die GDPR-Compliance hat ein DMS eine entscheidende Bedeutung: Nur wenn alle relevanten Informationen digital vorliegen und jederzeit abrufbar sind, können Unternehmen den gesetzlichen Anforderungen Genüge tun.

2. Was ist beim Erwerb eines DMS zu beachten?

Jedes Unternehmen hat eine andere Struktur und unterschiedlichste Anforderungen an ein DMS. Trotzdem gibt es bestimmte Kriterien, die vor dem Kauf eines neuen Systems beachtet werden sollten, damit dieses von allen angenommen und erfolgreich genutzt wird.

Zunächst ist es wichtig, sich im Klaren darüber zu sein, welche Ziele man damit erreichen möchte. Will man beispielsweise die Suche nach bestimmten Dokumenten vereinfachen? Oder will man den Papierverbrauch reduzieren? Sobald klar ist, was das System leisten soll, kann man sich auf die Suche nach dem passenden Anbieter machen. Neben dem Preis sollte man vor allem auf die Funktionen und den Umfang des Angebots achten. Wichtig ist auch, dass das System intuitiv bedienbar ist und von allen Mitarbeitern akzeptiert wird – sonst steht die Gefahr im Raum, dass es gar nicht erst genutzt wird.

Ein digitales Dokumentenmanagement sollte nicht nur installiert und eingerichtet, sondern außerdem regelmäßig überprüft und angepasst werden. Nur so kann man sicherstellen, dass dieses weiterhin effektiv ist und den Bedürfnissen der Nutzer entspricht.

Ein DMS kann also ein wertvolles Instrument sein, um die Effizienz im Unternehmen zu steigern. Es bringt allerdings nur dann etwas, wenn es auch sinnvoll genutzt wird.

Netplan v0.105 is now available

I’m happy to announce that Netplan version 0.105 is now available on GitHub and is soon to be deployed into an Ubuntu/Debian installation near you! Six month and exactly 100 commits after the previous version, this release is brought to you by 7 free software contributors from around the globe.

Changelog

  • Add support for VXLAN tunnels (#288), LP#1764716
  • Add support for VRF devices (#285), LP#1773522
  • Add support for InfiniBand (IPoIB) (#283), LP#1848471
  • Allow key configuration for GRE tunnels (#274), LP#1966476
  • Allow setting the regulatory domain (#281), LP#1951586
  • Documentation improvements & restructuring (#287)
  • Add meson build system (#268)
  • Add abigail ABI compatibility checker (#269)
  • Update of Fedora RPM spec (#264)
  • CI improvements (#265#282)
  • Netplan set uses the consolidated libnetplan YAML parser (#254)
  • Refactor ConfigManager to use the libnetplan YAML parser (#255)
  • New netplan_netdef_get_filepath API (#275)
  • Improve NetworkManager device management logic (#276), LP#1951653

Bug fixes

Netplan v0.104 is now available

I’m happy to announce that netplan.io version 0.104 is now available on Github and has been uploaded into the next Ubuntu LTS release, code name “Jammy”: netplan.io 0.104-0ubuntu1! This is a big release that has been brought to you by 10 contributors around the globe.

Changelog:

  • Enable embedded-switch-mode setting on SmartNICs (#253)
  • Permit multiple patterns for the driver globs in match (#202), LP#1918421
  • Improve routing capabilities (#248), LP#1892272LP#1805038
  • Support additional link offload options for networkd (#225) (#242), LP#1771740
    • receive-checksum-offloadtransmit-checksum-offloadtcp-segmentation-offload,
      tcp6-segmentation-offloadgeneric-segmentation-offloadgeneric-receive-offload,
      large-receive-offload
  • Consolidate enum-to-string arrays (#230)
  • Handle differing ip6-privacy default value for NetworkManager (#263)
  • YAML state tracking (--state rootdir) for DBus API and netplan try (#231), LP#1943120
  • Support ConfigureWithoutCarrier (ignore-carrier) for networkd (#215)
  • Move primary git branch master to main
  • Documentation improvements (#226)
  • Compatibility for glib-2.70 (#235)
  • Cleanup Makefile, install only public headers
  • Improve test reliability & enable integration testing CI for autopkgtests
  • Netplan get to use the libnetplan parser (#252)
  • libnetplan:
    • introduce the notion of NetplanState (#232)
    • use an explicit parser context (#233)
    • expose coherent generator APIs (#239)
    • improve overall error handling (#234)
    • consolidation of YAML parsing into the library (#241#249#250#251)
  • Restrict the symbol export to a determined public API (#227)
    • WARNING: We dropped some internal symbols from the API that we know
      have no external consumers (that we are aware of)
    • 0.103: _serialize_yamlcontains_netdef_typetmpvalidate_default_route_consistency
    • 0.102: cur_filenamenetplan_netdef_new
    • 0.100: address_option_handlersis_hostnamevalidate_ovs_targetwireguard_peer_handlers
    • 0.99: current_fileis_ip4_addressis_ip6_addressmissing_id,
      missing_ids_foundparser_errorvalidate_backend_rulesvalidate_netdef_grammar,
      yaml_error

Bug fixes:

  • Fix removal of defunct OVS vlan interfaces (#256), LP#1959147
  • Make ConfigManager cleanup on destruction (#259), LP#1959729
  • Do not write unvalidated YAML from keyfile (#247), LP#1952967
  • Disable temporary address generation for real with NetworkManager (#244), LP#1948027
    • this is a slight change in behavior for NM, but is in line with the docs
      and implementation of the networkd backend renderer
  • Ignore empty YAML hints and delete files on set network=null (#246), LP#1946957
  • Wait for ‘netplan try’ to be ready in DBus API (#245), LP#1949893
  • Initialize self.state in apply (#243), LP#1949104
  • Driver fallback to nl80211 and/or wext for wpa_supplicant (#240), LP#1814012
  • Handle missing gateway in keyfile routes, keep dns-search fallback (#238)
  • Make it possible to unset a whole devtype subtree (#236), LP#1942930
  • Fix normalization of multiple keys on a single dict in tests (#229)
  • Add default-routes feature flag
  • Fix memory leaks, dangling pointers & overall cleanup of API data (#228)
  • Small whitespace and formatting fixes & shipping EditorConfig (#224)

Simple EOS Dev Environment

This is a beginner’s guide, to setup a simple development environment for the EOSIO blockchain, which will get you up and running in five simple steps from zero to your first smart contract in less than 10 minutes. Afterwards, you will know how to code and test your own smart contracts on an EOS testnet quickly and for free. In this guide we make use of simple tools, which offer a great developer experience, such as the eosio.cdt (Contract Development Toolkit), the Kylin testnet and the eosc command line wallet. We’re using a development machine, running the Ubuntu 18.04 operating system.

So let’s get started!

1. Account, Keys and Tokens

The Kylin Testnet, which is run by several high class block producers, allows easy and fast access to a (non-productive) EOSIO blockchain, using it’s free Account and Faucet services. We’re going to create a new EOS account (12 character name) on the testnet, including @owner and @active keypairs and charge it up with 100 dummy EOS tokens.

Let’s call our new EOS account: dummyaccount

curl http://faucet.cryptokylin.io/create_account?dummyaccount

{
  "msg": "succeeded",
  "keys": {
    "active_key": {
      "public": "EOS7kNBssiunoW7VGcx79BXGUvjbgcaPva4azRwhuTXRfJJ192DJ2",
      "private": "5J1SYvRP1JpWBtk85a4zAbXUmAyBqtr3r58hLuDF5YX6HdcfTYo"
    },
    "owner_key": {
      "public": "EOS6nUXrdodNwRspd7Z42Yp8nRH44wuJNYYoVHSMddr28KKS6Ke4J",
      "private": "5KQzVMR9sZ8sRmRb3NQEzyW43peUow6pYLo831AAXGyEZP7h77z"
    }
  },
  "account": "dummyaccount"
}

curl http://faucet.cryptokylin.io/get_token?dummyaccount

{ "msg": "succeeded" }

Save your @owner and @active keypairs somewhere safe, you’ll need them for the next steps.

2. Wallet and CLI

Next we will download and install the eosc command line wallet, by EOS Canada, in order to interact with the EOS blockchain (currently v1.1.0). This will help us to safely store our private keys and send transactions to the blockchain.

mkdir eosc && cd eosc
curl -LO https://github.com/eoscanada/eosc/releases/download/v1.1.0/eosc_1.1.0_linux_x86_64.tar.gz
tar xzvf ./eosc_1.1.0_linux_x86_64.tar.gz

Now we can use it to import our EOS account via the @active key. This will create a file, named eosc-vault.json, which will contain your encrypted private key.

./eosc vault create --import

- Paste your @active private key from above.
  5J1SYvRP1JpWBtk85a4zAbXUmAyBqtr3r58hLuDF5YX6HdcfTYo
- Hit ENTER.
- Choose a passphrase

3. Account Setup

Here we will issue three ./eosc commands, to setup our account for the deployment of a smart contract. We delegate 20 EOS tokens as blockchain resources (5 EOS staked for NET, 15 EOS staked for CPU) and use some more EOS tokens to buy 500 KiB of RAM as storage for our smart contract. Finally, we check our account with the eosc get account command.

Hint: We need approximately 10x the bytes of RAM as is the filesize of our WASM binary contract, due to the overhead of the virtual machine. So if our compiled contract file (e.g. hello.wasm) has a filesize of 10 KiB, we need approximately 100 KiB in RAM resources on the EOSIO blockchain, to deploy the contract.

./eosc -u https://kylin.eoscanada.com system delegatebw dummyaccount dummyaccount 5 15

./eosc -u https://kylin.eoscanada.com system buyrambytes dummyaccount dummyaccount 512000

./eosc -u https://kylin.eoscanada.com get account dummyaccount
privileged:   false
created at:   2018-11-15 14:45:25 +0000 UTC

permissions:
     "owner" w/1         :  +1 EOS6nUXrdodNwRspd7Z42Yp8nRH44wuJNYYoVHSMddr28KKS6Ke4J
           "active" w/1  :  +1 EOS7kNBssiunoW7VGcx79BXGUvjbgcaPva4azRwhuTXRfJJ192DJ2

memory:
      quota:           506.8  KB   used:           3.490  KB

net bandwidth:
      staked:              5.0000  EOS    (total stake delegated from account to self)
      delegated:           1.0000  EOS    (total stake delegated to account from others)
      used:                   257  bytes
      available:            11.18  MB
      limit:                11.18  MB

cpu bandwidth:
      staked:             15.0000  EOS  (total stake delegated from account to self)
      delegated:           1.0000  EOS  (total stake delegated to account from others)
      used:                 1.129  ms
      available:            807.2  ms
      limit:                808.3  ms

EOS balances:
      liquid:             67.8553  EOS
      staked:             20.0000  EOS
      unstaking:           0.0000  EOS
      total:              87.8553  EOS

voted for:
      

voter info:
      proxy:                
      is proxy:             false
      staked:               200000
      vote weight:          0.000000
      proxied vote weight:  0.000000

4. Contract Development Toolkit

Download and install the latest version of eosio.cdt (currently v1.4.1). This will give you access to the smart contract WASM and ABI compilers/generators, as well as to the eosio C/C++ libraries and header files. Get it at: https://github.com/EOSIO/eosio.cdt/releases

curl -LO https://github.com/EOSIO/eosio.cdt/releases/download/v1.4.1/eosio.cdt-1.4.1.x86_64.deb
sudo dpkg -i ./eosio.cdt-1.4.1.x86_64.deb

5. Compile and Deploy a Smart Contract

Let’s create a simple “Hello World” smart contract, by creating a file with the following contents, named hello.cpp:

#include <eosiolib/eosio.hpp>
#include <eosiolib/print.hpp>

using namespace eosio;

CONTRACT hello : public contract {
  public:
      using contract::contract;

      ACTION hi( name user ) {
         print( "Hello, ", name{user});
      }

      ACTION yo( name user ) {
         print( "Yo, ", name{user});
      }
};
EOSIO_DISPATCH( hello, (hi)(yo) )

This C++ file can now be compiled and deployed to the EOS blockchain, using the eosio.cdt Contract Development Toolkit. After compilation we will get a binary WASM file hello.wasm of about 2.3 KiB (needs ~23 KiB of eosio RAM) and a file named hello.abi, which describes the interface of our code’s actions.

eosio-cpp -o hello.wasm hello.cpp --abigen

./eosc -u https://kylin.eoscanada.com system setcontract dummyaccount ./hello.wasm ./hello.abi

./eosc -u https://kylin.eoscanada.com tx create dummyaccount yo '{"user":"bob"}' -p dummyaccount

Congratulations!

After finishing the five simple steps above, you can now officially call yourself a “Blockchain Expert”. 😉

Feel free to experiment with the above mentioned tools, keep on improving your EOSIO knowledge with help of the hyperlinks I put into the article and continue to develop you very own EOS smart contracts!

If you liked this tutorial, please consider a donation to my EOS account: teammaerdian