Source Code

;; message board contract

(define-map messages
  { id: uint }
  { sender: principal, text: (string-utf8 256) })

(define-data-var message-count uint u0)

(define-public (post-message (text (string-utf8 256)))
  (let
    (
      (id (+ (var-get message-count) u1))
    )
    (begin
      (map-set messages
        { id: id }
        { sender: tx-sender, text: text })
      (var-set message-count id)
      (ok id)
    )
  )
)

(define-read-only (get-message (id uint))
  (map-get? messages { id: id })
)

(define-read-only (get-count)
  (var-get message-count)
)

Functions (3)

FunctionAccessArgs
post-messagepublictext: (string-utf8 256
get-messageread-onlyid: uint
get-countread-only