Reading from NEAR testnet…
Reading from NEAR testnet…
2b5jc8H6G84RZfbEah7aaQ1M6TrAbyGFLBvErN3TPbrM
beskyd_dev.testnet to v1.social08.testnet
set()
{
"data": {
"beskyd_dev.testnet": {
"widget": {
"nw-newsletter": {
"": "const rootUser = \"beskyd_dev.testnet\";\r\n\r\nfunction NewsletterCard() {\r\n State.init({ page: 1 });\r\n\r\n const data = fetch(`https://nearweek.com/api/mailchimp/campaigns`, {\r\n method: \"GET\",\r\n headers: {\r\n Accept: \"*/*\",\r\n Authorization:\r\n \"Bearer 15699f0723aa9fe9f655b1a94e450552476c08807f67b525b5a3c8011eecc8aee6d45923443620f17815b897858be058cd7bd89ddf23a28aabaecb178e7ebc55d380293beeb51a8ce87b40e1518ce4708e4d51a06b115f27fa64ab5cbee5a3511cec785d7ae6a155ecd05ac8196aadae3e9b8e9401b8df8d8b69904f7364f925\",\r\n },\r\n });\r\n\r\n const ReadButtonLink = styled.a`\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n padding: 8px;\r\n height: 29px;\r\n width: 100%;\r\n border: 1px solid #d7dbdf;\r\n border-radius: 100px;\r\n font-weight: 500;\r\n font-size: 12px;\r\n line-height: 15px;\r\n text-align: center;\r\n cursor: pointer;\r\n color: ${(p) => (p.primary ? \"#006ADC\" : \"#11181C\")} !important;\r\n background: #fbfcfd;\r\n white-space: nowrap;\r\n\r\n &:hover,\r\n &:focus {\r\n background: #ecedee;\r\n text-decoration: none;\r\n outline: none;\r\n }\r\n `;\r\n\r\n const SubscribeButtonLink = styled.a`\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n padding: 8px;\r\n height: 29px;\r\n width: 100%;\r\n border: 1px solid #2A6BD5;\r\n border-radius: 100px;\r\n font-weight: 500;\r\n font-size: 12px;\r\n line-height: 15px;\r\n text-align: center;\r\n cursor: pointer;\r\n color: #fff !important;\r\n background: #2A6BD5;\r\n white-space: nowrap;\r\n\r\n &:hover,\r\n &:focus {\r\n background-color: #ffff;\r\n color: #2A6BD5 !important;\r\n border: 1px solid #2A6BD5;\r\n text-decoration: none;\r\n outline: none;\r\n }\r\n `;\r\n\r\n const Card = styled.a`\r\n display: block;\r\n position: relative;\r\n cursor: pointer;\r\n width: 100%;\r\n border-radius: 12px;\r\n background: #fff;\r\n border: 1px solid #eceef0;\r\n overflow: hidden;\r\n margin-bottom:10px;\r\n `;\r\n\r\n const TopCard = styled.div`\r\n position: relative;\r\n width: 100%;\r\n border-radius: 12px;\r\n background: #fff;\r\n border: 1px solid rgba(28, 31, 65, 0.10);\r\n overflow: hidden;\r\n margin-bottom:10px;\r\n `;\r\n\r\n const CardTitle = styled.h2`\r\n cursor: pointer;\r\n overflow: hidden;\r\n color: #1C1F41;\r\n text-overflow: ellipsis;\r\n whitespace: nowrap;\r\n font-size: 15px;\r\n font-style: normal;\r\n font-weight: 500;\r\n line-height: 14px;\r\n margin-top:10px;\r\n margin-bottom:0;\r\n `;\r\n\r\n const CordDate = styled.p`\r\n color: rgba(28, 31, 65, 0.45);\r\n text-align: right;\r\n font-size: 12px;\r\n font-style: normal;\r\n font-weight: 500;\r\n line-height: 8.5px;\r\n\r\n text-align:left;\r\n margin-bottom:0;\r\n margin-top:8px;\r\n `;\r\n\r\n const TopCardTitle = styled.h2`\r\n overflow: hidden;\r\n color: #1C1F41;\r\n text-overflow: ellipsis;\r\n whitespace: nowrap;\r\n font-size: 18px;\r\n font-style: normal;\r\n font-weight: 500;\r\n `;\r\n\r\n const TopCardTitleContainer = styled.div`\r\n width: 100%;\r\n display: flex;\r\n flex-direction: row;\r\n align-items: flex-end;\r\n justify-content: space-between;\r\n margin: 0;\r\n\r\n border-bottom: 1px solid rgba(28, 31, 65, 0.10);\r\n\r\n & p {\r\n color: rgba(28, 31, 65, 0.45);\r\n font-size: 12px;\r\n font-style: normal;\r\n font-weight: 500;\r\n line-height: 8.5px;\r\n\r\n }\r\n `;\r\n\r\n const TopCardFooterButtons = styled.h2`\r\n width:100%;\r\n display:flex;\r\n gap:14px;\r\n `;\r\n\r\n const CardBody = styled.div`\r\n padding: 12px 12px 9px 12px;\r\n display: flex;\r\n gap: 16px;\r\n align-items: center;\r\n\r\n > * {\r\n min-width: 0;\r\n }\r\n `;\r\n\r\n const TopCardBody = styled.div`\r\n padding: 12px 17px 8px 12px;\r\n display: flex;\r\n align-items: center;\r\n\r\n > * {\r\n min-width: 0;\r\n }\r\n `;\r\n\r\n const CardContent = styled.div`\r\n font-size: 10px;\r\n font-weight: 400;\r\n line-height: 13px;\r\n letter-spacing: -0.02em;\r\n color: hsla(0, 0%, 0%, 1);\r\n width: 100%;\r\n `;\r\n\r\n const CardFooter = styled.div`\r\n display: grid;\r\n grid-template-column: auto auto;\r\n gap: 14px;\r\n padding: 6px 16px;\r\n `;\r\n\r\n const H2 = styled.h2`\r\n color: #1C1F41;\r\n font-size: 24px;\r\n font-style: normal;\r\n font-weight: 500;\r\n line-height: 15px;\r\n margin-bottom: 15px;\r\n`;\r\n\r\n const ButtonLoadMore = styled.a`\r\n display: block;\r\n width: 180px;\r\n padding: 8px;\r\n height: 31px;\r\n background: transparent;\r\n margin: 20px auto 0 auto;\r\n border: 1px solid #d7dbdf;\r\n border-radius: 100px;\r\n font-weight: 500;\r\n font-size: 12px;\r\n line-height: 22px;\r\n letter-spacing: -0.03em;\r\n display: flex;\r\n align-items: center;\r\n justify-content: center;\r\n text-align: center;\r\n cursor: pointer;\r\n white-space: nowrap;\r\n color: hsla(204, 22%, 9%, 1);\r\n &:hover,\r\n &:focus {\r\n text-decoration: none;\r\n outline: none;\r\n }\r\n `;\r\n\r\n function formatDate(dateString) {\r\n const date = new Date(dateString);\r\n const day = date.getDate().toString().padStart(2, \"0\");\r\n const month = (date.getMonth() + 1).toString().padStart(2, \"0\");\r\n const year = date.getFullYear().toString().slice(-2);\r\n return `${day}.${month}.${year}`;\r\n }\r\n\r\n function calculateTimeDifference(dateString) {\r\n const now = new Date();\r\n const creationDate = new Date(dateString);\r\n const diffMillis = now - creationDate.getTime();\r\n const timeUnits = [\"Month\", \"Day\", \"Hour\", \"Minute\", \"Second\"];\r\n const divisors = [\r\n 30 * 24 * 60 * 60 * 1000,\r\n 24 * 60 * 60 * 1000,\r\n 60 * 60 * 1000,\r\n 60 * 1000,\r\n 1000,\r\n ];\r\n\r\n for (let i = 0; i < divisors.length; i++) {\r\n const unitCount = Math.floor(diffMillis / divisors[i]);\r\n if (unitCount >= 1) {\r\n return `${unitCount} ${timeUnits[i]}${unitCount > 1 ? \"s\" : \"\"}`;\r\n }\r\n }\r\n\r\n return \"Just Now\";\r\n }\r\n const campaigns = data?.body?.campaigns ?? [];\r\n\r\n return (\r\n <div>\r\n <H2>NEWSLETTER</H2>\r\n {campaigns !== null && campaigns.length > 0 ? (\r\n campaigns.map((campaign, index) => (\r\n <div key={campaign.id}>\r\n {/* Display the top card with unique styling */}\r\n {index === 0 && (\r\n <TopCard>\r\n <TopCardBody>\r\n <CardContent>\r\n <img\r\n class=\"rounded\"\r\n width=\"100%\"\r\n height=\"100%\"\r\n src={campaign.image_src}\r\n alt=\"\"\r\n />\r\n </CardContent>\r\n </TopCardBody>\r\n {/* Display \"Read\" and \"Subscribe\" buttons only for the top card */}\r\n {index === 0 && (\r\n <CardFooter>\r\n <TopCardTitleContainer>\r\n <TopCardTitle>{campaign.subject_line}</TopCardTitle>\r\n <p>{formatDate(campaign.create_time)}</p>\r\n </TopCardTitleContainer>\r\n <TopCardFooterButtons>\r\n <ReadButtonLink\r\n href={campaign.archive_url}\r\n target=\"_blank\"\r\n >\r\n Read\r\n </ReadButtonLink>\r\n <SubscribeButtonLink\r\n href=\"https://subscribe.nearweek.com\"\r\n target=\"_blank\"\r\n primary\r\n >\r\n Subscribe\r\n </SubscribeButtonLink>\r\n </TopCardFooterButtons>\r\n </CardFooter>\r\n )}\r\n </TopCard>\r\n )}\r\n\r\n {/* Display bage */}\r\n {index === 0 && (\r\n <Widget src={`${rootUser}/widget/nw-newsletter-bage`} />\r\n )}\r\n\r\n {/* Display the other three cards with the same styling */}\r\n {index > 0 && (\r\n <Card href={campaign.archive_url} target=\"_blank\">\r\n <CardBody>\r\n <CardContent>\r\n <div class=\"d-flex clearfix\">\r\n <div class=\"d-flex\">\r\n <img\r\n class=\"rounded\"\r\n width=\"70\"\r\n height=\"70\"\r\n src={campaign.image_src}\r\n alt=\"\"\r\n />\r\n <div class=\"d-flex flex-column ms-3 mt-0\">\r\n {/* Display \"Edition -\" followed by the number */}\r\n <CardTitle>{campaign.subject_line}</CardTitle>\r\n {/* Display time elapsed since creation date */}\r\n <CordDate>{`${calculateTimeDifference(\r\n campaign.create_time\r\n )}`}</CordDate>\r\n </div>\r\n </div>\r\n </div>\r\n </CardContent>\r\n </CardBody>\r\n </Card>\r\n )}\r\n </div>\r\n ))\r\n ) : (\r\n <div>Loading ...</div>\r\n )}\r\n <ButtonLoadMore\r\n href=\"https://us1.campaign-archive.com/home/?u=ed13caf5cf7d37689d81ef60b&id=86d4e11a12\"\r\n target=\"_blank\"\r\n >\r\n Load more\r\n </ButtonLoadMore>\r\n </div>\r\n );\r\n}\r\n\r\nreturn <NewsletterCard />;\r\n",
"metadata": {
"image": {},
"fork_of": "beskyd_dev.testnet/widget/nw-newsletter@175255480"
}
}
}
}
}
}1 automatic refund step from the network not shown.
This page reads FastNEAR's public transaction index and stores nothing. This command asks a NEAR archival node for the same transaction and needs no keys.
curl -s https://archival-rpc.testnet.fastnear.com -H 'Content-Type: application/json' -d '{"jsonrpc":"2.0","id":1,"method":"tx","params":{"tx_hash":"2b5jc8H6G84RZfbEah7aaQ1M6TrAbyGFLBvErN3TPbrM","sender_account_id":"beskyd_dev.testnet","wait_until":"FINAL"}}'Vouch has its own page because testnet.nearblocks.io stopped indexing on 27 Sep 2026, so it can't show newer transactions.