(define-map nft-metadata uint {name: (string-ascii 64), description: (string-utf8 500), image-uri: (string-ascii 256), attributes: (string-utf8 1000)})
(define-read-only (get-metadata (token-id uint)) (map-get? nft-metadata token-id))
(define-public (set-metadata (token-id uint) (name (string-ascii 64)) (description (string-utf8 500)) (image-uri (string-ascii 256)) (attributes (string-utf8 1000)))
(begin
(map-set nft-metadata token-id {name: name, description: description, image-uri: image-uri, attributes: attributes})
(ok true)))