Focus mode

NEAR Developer Course

Example: Guest Book

Example: Guest Book

Let's explore the successful NEAR project Guestbook together! See below the elements of the project.

There are 2 main folders in the project:

  • assembly contains the smart contract and tests
  • src contains the application’s UX and tests

There is another folder to be aware of:

  • neardev contains contract account details

Note: We will not focus on the “src folder” which is the frontend of this dApp.

figures figures figures

Contract Data Model: assembly/model.ts


PostedMessage is a serializable class with three attributes: 

  • premium to flag messages with attached NEAR tokens
  • sender to track the signer of the guest book message
  • text to hold the guest book message

Messages is a collection of guest book messages stored as a PersistentVector of PostedMessage objects.

Note: @nearBindgen marks the class as serializable.

Contract Behavior: assembly/main.ts


MESSAGE_LIMIT is used to avoid unbounded calls (ie. potentially expensive) to retrieve guest book messages from storage.

Two public functions are exposed on the contract: 

  • addMessage()
  • getMessages()
Patika Plus Banner

Yazılım Kariyerinde İlerlemeni Hızlandıracak Eğitimler

Kendi kendine yazılım öğrenirken zorlanıyor, takıldığın noktalarda bir mentore mi ihtiyaç duyuyorsun? Patika+ programlarımız ile 4-8 aylık yoğun eğitim kamplarına katıl, proje tabanlı canlı dersler ve sana özel hazırlanmış eğitimlerle gereken tüm yetenekleri kazan, iş hayatına başla!


You need to enroll in the course to be able to comment!