This SDK helps write applications for Solarplex Frames.
A great place to start would be the demo app at https://github.com/usedispatch/solarplex-polls-demo and the example app at https://github.com/usedispatch/solarplex-frame-demo
Validate your frames at
https://www.solarplex.xyz/developer/frames
![image](https://private-user-images.githubusercontent.com/198669/309994761-b6c8c385-29cf-4df4-990a-c39b98db99d9.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3Mzg4MjU4NDgsIm5iZiI6MTczODgyNTU0OCwicGF0aCI6Ii8xOTg2NjkvMzA5OTk0NzYxLWI2YzhjMzg1LTI5Y2YtNGRmNC05OTBhLWMzOWI5OGRiOTlkOS5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjA2JTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIwNlQwNzA1NDhaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0wZjQ1ZGVjMDM5ZTc0Nzc5M2JkMmJmNTYwMjRiZTA4YTE0OGQzY2U3NDJiODQ1NGU1OWY0YjYxNzMyNzc1N2ZjJlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.dkGGwhWf8GxdCptpjWt3zS699UaC6h3KlDEyGQsWGqg)
NB: Forked from the original farcaster frames and modified to support Solarplex H/T to @zizzamia on Warpcast or X.
Solarplex Frames in less than 100 lines, and ready to be deployed to Vercel.
import { getFrameMetadata } from '@usedispatch/solarplex-frame-sdk';
import type { Metadata } from 'next';
import { NEXT_PUBLIC_URL } from '../config';
// This is the first page that Solarplex frame parser sees
// Solarplex frames support the farcaster spec. Details coming soon.
// Create the first frame metadata
// Add 2 buttons, an image,
// NOTE: Text input is coming soon, not yet supported. Here for completeness.
const frameMetadata = getFrameMetadata({
buttons: [
{
label: 'Button 1',
},
{
label: 'Button 2',
},
],
image: `${NEXT_PUBLIC_URL}/park-1.png`,
input: {
text: 'This is a placeholder for text input',
},
// This is the base URL for all requests that will be sent from this page
// Clicking button 1 vs button 2 will simply send FrameActionIndex 1 or 2
// to this API, and you'll have to handle that.
// See app/api/frame/route.ts for how to do that.
post_url: `${NEXT_PUBLIC_URL}/api/frame`,
});
// This is the next JS OG tag metadta
// Solarplex frame metadata is just another OG Tag
// The convenience functions above make it easy to create them
// programmaticallly
export const metadata: Metadata = {
title: 'Solarplex frame demo',
description: 'LFG Solarplex Frames Demo!',
openGraph: {
title: 'Solarplex frame demo',
description: 'Solarplex frame demo app available at github.com/usedispatch/solarplex-frame-demo',
images: [`${NEXT_PUBLIC_URL}/park-1.png`],
},
other: {
...frameMetadata,
},
};
console.log('netadata', metadata)
export default function Page() {
return (
<>
<h1>Welcome to the Solarplex Frames 1 demo</h1>
</>
);
}
@solarplex_xyz
This project is licensed under the MIT License - see the LICENSE.md file for details