Welcome to SaTT Wallet, a cutting-edge project in the realm of smart advertising. Our wallet leverages blockchain technology to offer a unique approach to managing and transacting with the Smart Advertising Transaction Token (SaTT). ๐๐ฐ
Our project is composed of two main repositories:
Backend ๐ฅ๏ธ: This part of the project provides the webservice for the SaTT Token WebWallet and the advertising campaign manager. It's primarily written in JavaScript.
Frontend ๐จ: The frontend of the SaTT wallet is built using Angular, a robust framework in the TypeScript ecosystem.
We welcome developers who are passionate about decentralized technology, advertising, and improving user experience.
To contribute:
We strongly encourage contributors to adhere to best coding practices, which include:
If you have any questions or suggestions, please reach out to us at contact@satt-token.com. You can also follow our updates on Twitter at @SaTT_Token.
Happy coding! ๐๐ฉโ๐ป๐จโ๐ป
This project is build in JavaScript for NodeJS and these main npm modules :
**create your file on Remix and paste your code there
**Compile your file.sol and check
**To deploy your smart contract you should connect with your metamask account
**Create new Ethereum app
**Get node credentials from infura such as PROJECTID, PROJECT SECRET, and the endpoints that we can use to connect to infura node(https, wss)
WEB3_URL=process.env.WEB3_URL
You can also install Geth Node you can follow this Guide or Parity
To run SaTT API webservice Provider you will need NodeJS 14.0+ and npm Package manager
For development, you will only need Node.js and a node global package.
Just go on official Node.js website and download the installer.
Also, be sure to have git
available in your PATH, npm
might need it (You can find git here).
You can install nodejs and npm easily with apt install, just run the following commands.
$ sudo apt install nodejs
$ sudo apt install npm
node --version up to v14.x.x
npm --version up to 6.x.x
If the installation was successful, you should be able to run the following command. PM2 Process Manager, you can install it as described below :
npm install pm2 -g
git clone https://github.com/Atayen/node-satt.git
cd <project_name>
npm install
3. Edit .env file with the right properties
4. Register and start PM2 service or install nodemon
```sh
pm2 start app.js
or
npm start
or
nodemon
After you run the project, you can navigate to https://localhost:3015/docs to see the full list of available endpoints.
The folder structure of this app is explained below:
Name | Description |
---|---|
node_modules | Contains all npm dependencies |
helpers | Contains all requirements and the cron job actions |
manager | Contains all the definitions of oracles |
conf | Contains all configuration for the blockChain part. |
controllers | Controllers define functions to serve various express routes. |
routes | Contain all express routes, separated by module/area of application . |
middlewares | Express middlewares which process the incoming requests before handling them down to the routes |
routes | Contain all express routes, separated by module/area of application |
app.js | Entry point to express app |
package.json | Contains npm dependencies as well as the scripts |
The swagger specification file is named as swagger.yaml. The file is located under definition folder. Example:
paths:
/hello:
get:
x-swagger-router-controller: helloWorldRoute
operationId: helloWorldGet
tags:
- /hello
description: >-
Returns the current weather for the requested location using the
requested unit.
parameters:
- name: greeting
in: query
description: Name of greeting
required: true
type: string
responses:
'200':
description: Successful request.
schema:
$ref: '#/definitions/Hello'
default:
description: Invalid request.
schema:
$ref: '#/definitions/Error'
definitions:
Hello:
properties:
msg:
type: string
required:
- msg
Error:
properties:
message:
type: string
required:
- message
/hello:
Specifies how users should be routed when they make a request to this endpoint.
x-swagger-router-controller: helloWorldRoute
Specifies which code file acts as the controller for this endpoint.
get:
Specifies the method being requested (GET, PUT, POST, etc.).
operationId: hello
Specifies the direct method to invoke for this endpoint within the controller/router
parameters:
This section defines the parameters of your endpoint. They can be defined as path, query, header, formData, or body.
definitions: This section defines the structure of objects used in responses or as parameters.
The project is using npm module swagger-tools
that provides middleware functions for metadata, security, validation and routing, and bundles Swagger UI into Express.
See the open issues for a list of proposed features (and known issues).
Contributions are what make the open source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.
git checkout -b feature/AmazingFeature
)git commit -m 'Add some AmazingFeature'
)git push origin feature/AmazingFeature
)To create a Facebook app you should visit official developer.facebook.com website and respect the following steps:
PS: All these credentials refer to APPID,APP_SECRET,FB_GRAPH_VERSION in .env file
APPID=process.env.APPID
APP_SECRET=process.env.APP_SECRET
FB_GRAPH_VERSION=process.env.FB_GRAPH_VERSION
To create a google app you should visit official console.developers.google.com website and respect the following steps:
PS: All this credentials refers to GOOGLE_CLIENTID,GOOGLE_CLIENT_SECRET and GDA_TAP_API_KEY in .env file
GOOGLE_CLIENTID=process.env.GOOGLE_CLIENTID
GOOGLE_CLIENT_SECRET=process.env.GOOGLE_CLIENT_SECRET
GDA_TAP_API_KEY= process.env.GDA_TAP_API_KEY
To create a linkedin app you should visit official developer.linkedin.com website and respect the following steps:
PS: All these credentials refer to LINKEDIN_KEY and LINKEDIN_SECRET in .env file
LINKEDIN_KEY=process.env.LINKEDIN_KEY
LINKEDIN_SECRET=process.env.LINKEDIN_SECRET
To create a linkedin app you should visit official developers.twitter.com website and respect the following steps:
you can regenerate again your credentials with more options
PS: All this credentials refers to TWITTER_CONSUMER_KEY_ALT, TWILTTER_CONSUMER_SECRET_ALT,TWITTER_CONSUMER_SECRET_DEV,TWITTER_CONSUMER_KEY TWITTER_CONSUMER_SECRET,TWITTER_ACCESS_TOKEN_KEY and TWITTER_ACCESS_TOKEN_SECRET in .env file
TWITTER_CONSUMER_KEY_ALT=process.env.TWITTER_CONSUMER_KEY_ALT
TWILTTER_CONSUMER_SECRET_ALT=process.env.TWILTTER_CONSUMER_SECRET_ALT
TWITTER_CONSUMER_SECRET_DEV=process.env.TWITTER_CONSUMER_SECRET_DEV
TWITTER_CONSUMER_KEY=process.env.TWITTER_CONSUMER_KEY
TWITTER_CONSUMER_SECRET=process.env.TWITTER_CONSUMER_SECRET
TWITTER_ACCESS_TOKEN_KEY=process.env.TWITTER_ACCESS_TOKEN_KEY
TWITTER_ACCESS_TOKEN_SECRET=process.env.TWITTER_ACCESS_TOKEN_SECRET
To create a Telegram bot you should set it via mobile Telegram application:
PS: This credential refers to TELEGRAM_BOT_TOKEN in .env file
TELEGRAM_BOT_TOKEN=process.env.TELEGRAM_BOT_TOKEN
We get data referred to Satt token from official coinmarketcap.com/api website and respect the following steps:
Distributed under the MIT License. See LICENSE
for more information.
For more information don't hesitate to contact us by email to dev@atayen.us