Tiplink is a Web Based Solana wallet. Users can sign up using their Google credentials, upon which a Solana wallet is automatically created and linked to their account. The application securely stores the user's public key & private key, allowing seamless interaction with the Solana blockchain. Also it provides features like making transactions on Solana possible through Links.
User Registration with Google OAuth: Secure and easy registration using Google credentials.
Crypto Wallet Generation: Automatic creation of a Solana wallet for each registered user.
Public Key Management: Secure storage and retrieval of user public keys.
Using Docker:
Clone the repository:
git clone https://github.com/code100x/tiplink
Navigate to the project directory:
cd tiplink
Create a .env file in the root folder of your project. Update it following the convention of the .env.example file. Here's an example:
CLIENT_SECRET = '' #Get it from Google developers console
CLIENT_ID = '' #Get it from Google developers console
NEXTAUTH_SECRET = ''
NEXTAUTH_URL = '' #Your frontend base URL
#DATABASE_URL = 'postgresql://postgres:password@localhost:5432/mydatabase'
DATABASE_URL = 'postgresql://postgres:password@postgres:5432/mydatabase' #Use this for setting up docker
NEXT_PUBLIC_SOLANA_RPC = '' #Your Custom Solana RPC URL
To generate AUTH_SECRET,
Run this command in your terminal:
openssl rand -base64 33
or
Run the following command in your root to start the application:
docker compose up
Without Docker
clone the repository:
git clone https://github.com/code100x/tiplink.git
(optional) Start a PostgreSQL database using Docker:
docker run -d \
--name tiplink-db \
-e POSTGRES_USER=myuser \
-e POSTGRES_PASSWORD=mypassword \
-e POSTGRES_DB=mydatabase \
-p 5432:5432 \
postgres
based on this command the connection url will be
DATABASE_URL=postgresql://myuser:mypassword@localhost:5432/mydatabase?schema=public
Create a .env file based on the .env.example file and configure the DATABASE_URL with your postgreSQL connection string.
Install dependencies:
npm install
Run database migrations:
npx prisma generate
Seed the database:
npm run db:push
Start the development server:
npm run dev
Contributions are welcome! If you'd like to contribute to the Tiplink project, please fork the repository and submit a pull request.
github/pull_request_template.md
: Template for pull requests.github/issue_template.md
: Template for issues.Please take an updated pull from the dev branch, and request branches for further features or services we need to add, and make pull requests to the relevant branches, not the main branch itself
Tiplink is licensed under the MIT License.