Skip to content
Snippets Groups Projects
Commit e238ff1d authored by Renzo Mauro Ontivero's avatar Renzo Mauro Ontivero
Browse files

Merge branch 'develop' of https://gitlab.bfa.ar/blockchain/tsa2 into develop

parents 2aa5a52a cd6323a5
No related branches found
No related tags found
No related merge requests found
...@@ -83,12 +83,38 @@ Conectado exitosamente: ...@@ -83,12 +83,38 @@ Conectado exitosamente:
> netId: 5777 > netId: 5777
> account: 0x80C6C180d044d476437F9F5bCc824dF134A2c9B2 > account: 0x80C6C180d044d476437F9F5bCc824dF134A2c9B2
``` ```
Si estas probando en la red de TESTNET, deberás configurar el parámetro ```chainId``` que se encuentra en ```api/src/StamperWrapper.js``` con el valor ```99118822```
La api tiene dos endpoints: La api tiene dos endpoints:
* **/stamp**: Es un POST, recibe en el body un objeto json con sólo una clave * **/stamp**: Es un POST, recibe en el body un objeto json con sólo una clave
llamada ```hashes``` que es un array de strings que representan los hashes a llamada ```hashes``` que es un array de strings que representan los hashes a
stampear. stampear.
Devuelve 200 si la operación tuve exito, sino devuelve un error code > 400 Devuelve un objeto json con la siguiente estructura:
```json
{
"status": "ok",
"txHash": [
{
"hash": "0x0bd11b06abfd0d29295bada8aec7dda0c336d23856ac0a21b93d4be60d6388d5",
"block_number": "2540433",
"status": "already_stamped_by_this_TSA"
},
{
"hash": "0xca7ad1fc3c916e0f8956e997dd5f32072b17b381c9ea753295d387792499fcdc",
"block_number": "2540508",
"status": "already_stamped_by_this_TSA"
},
{
"hash": "0x589e0b25fe9e05ff319af24b9dd356a9228be8b1a46fe4bd4cca3567688c617b",
"block_number": "2540508",
"status": "stamped"
}
]
}
```
```status``` es ok si el resultado fue correcto. En ```txHash``` viene la
lista de hashes stampados (con sus metadatos). El campo ```status``` propio de cada elemento, se refiere
a que si el hash ya se encontraba previamente stampado ```already_stamped_by_this_TSA```, si fue stampado correctamente en el envío ```stamped```, o si tuvo algún error durante su proceso ```error```.
* **/verify/:hash**: Es un GET, se le pasa en vez de :hash el hash a verificar. * **/verify/:hash**: Es un GET, se le pasa en vez de :hash el hash a verificar.
Devuelve un objecto json con la siguiente estructura: Devuelve un objecto json con la siguiente estructura:
...@@ -99,7 +125,7 @@ La api tiene dos endpoints: ...@@ -99,7 +125,7 @@ La api tiene dos endpoints:
lista de stampers de ese objecto junto al nro de bloque en el que lo hizo. lista de stampers de ese objecto junto al nro de bloque en el que lo hizo.
### UI ### UI
La primera vez hay que ejecutar lo siguiente dentro del directorio ```ui``` Para el desarrollo de la UI, la primera vez hay que ejecutar lo siguiente dentro del directorio ```ui```
```bash ```bash
npm install npm install
``` ```
...@@ -108,6 +134,8 @@ La aplicación está escrita con Vue.js. Para correr el servicio hay que ejecuta ...@@ -108,6 +134,8 @@ La aplicación está escrita con Vue.js. Para correr el servicio hay que ejecuta
```bash ```bash
npm run serve npm run serve
``` ```
**Ver más detalles en el README dentro del directorio ```ui```**
## Instalación en producción ## Instalación en producción
Para correr en producción se deben compilar la UI y la API. Una vez hecho eso Para correr en producción se deben compilar la UI y la API. Una vez hecho eso
ya se está listo para correr la API y tirar los assets de UI donde se desee. ya se está listo para correr la API y tirar los assets de UI donde se desee.
...@@ -171,29 +199,37 @@ node dist/index.js ...@@ -171,29 +199,37 @@ node dist/index.js
### Deploy de la UI ### Deploy de la UI
Al buildear se crea el archivo ```ui/dist/index.html``` y todo el resto de los recursos Al buildear se crea el archivo ```ui/dist/index.html``` y todo el resto de los recursos
necesarios. Al acceder al index.html sólo se ve el componente de Stampeo. El html se ve así: necesarios. Al acceder al index.html sólo se ve el componente de Stampeo. El html se ve así:
```html ```html
<!DOCTYPE html> <div id="app" apiurl=https://tsa2.buenosaires.gob.ar
<html lang=en> lb_00=" El archivo "
<head> lb_01=" fue enviado con éxito para ser sellado"
<meta charset=utf-8> lb_02="Se ha producido un error al intentar sellar "
<meta http-equiv=X-UA-Compatible content="IE=edge"> lb_03=" se encuentra sellado por: "
<meta name=viewport content="width=device-width,initial-scale=1"> lb_04=" en el bloque "
<link rel=icon href=/favicon.ico> lb_05="No se ha podido verificar el archivo "
<title>ui</title> lb_06="Volver a Sellar o Verificar"
<link href=/css/app.47c5343e.css rel=preload as=style> lb_07="Cargando"
<link href=/js/app.fa8c25b5.js rel=preload as=script> lb_08="Arrastrá archivos aquí<br>ó"
<link href=/js/chunk-vendors.bbeb7c49.js rel=preload as=script> lb_09="Seleccioná archivos <span class='sr-only'>para Sellar o Verificar</span>"
<link href=/css/app.47c5343e.css rel=stylesheet> lb_10="Nombre del archivo: "
</head> lb_11="Hash del archivo: "
<body> lb_12="Sellar"
<noscript><strong>We're sorry but ui doesn't work properly without JavaScript enabled. Please enable it to continue.</strong></noscript> lb_13="Verificar"
<div id=app apiurl=http://localhost:3000></div> lb_14=" Agregar archivos"
<script src=/js/chunk-vendors.bbeb7c49.js></script><script src=/js/app.fa8c25b5.js></script> lb_15=" Copiar"
</body> lb_16="Enlace de verificación"
</html> lb_17="Remover archivo"
lb_18="Seleccionar otros archivos"
lb_19=" Solo se pueden agregar "
lb_20=" archivos por vez">
</div>
``` ```
Para embeberlo en otro contexto hay que copiar los ```<link />``` y el ```<div id=app>``` y ```<script />``` Para embeberlo en otro contexto hay que copiar el div ```<div id=app>```, los estilos ```link``` y el script ```tsa2.js``` del body.
del body.
También se puede cambiar los textos de la app modificando todos los labels (```lb_```) que figuran como atributos de ```<div id=app>``` según corresponda.
Es **importante** notar que la url de la api se configura en el atributo ***apiurl*** del div con id ```app```. Esto tiene que apuntar a la URL donde se eligió ejecutar la API. En este caso apunta a la API de producción hosteada por buenosaires.gob.ar
**Es importante notar que la url de la api se configura en el atributo ***apiurl*** del div con id ```app```. Esto tiene que apuntar a la URL donde se eligió ejecutar la API.** **Ver más detalles en el README dentro del directorio ```ui```**
# ui # UI
## Project setup ## Producción
Si no se requieren cambios en la funcionalidad de la UI, se puede utilizar solamente la carpeta ```dist``` que ya se encuentra lista para su uso. No hace falta compilar nada, ni correr npm. Ahí mismo se pueden cambiar los estilos e imágenes de ser necesario.
### Cambios de Estilos
Modificar los estilos dentro del directorio ```dist/static/css/style.css``` y ```dist/static/css/tsa2.css```
También se puede cambiar los textos de la app modificando todos los labels (```lb_```) que figuran como atributos de ```<div id=app>``` según corresponda.
Es **importante** notar que la url de la api se configura en el atributo ***apiurl*** del div con id ```app```. Esto tiene que apuntar a la URL donde se eligió ejecutar la API. En este caso apunta a la API de producción hosteada por buenosaires.gob.ar
```html
<div id="app" apiurl=https://tsa2.buenosaires.gob.ar
lb_00=" El archivo "
lb_01=" fue enviado con éxito para ser sellado"
lb_02="Se ha producido un error al intentar sellar "
lb_03=" se encuentra sellado por: "
lb_04=" en el bloque "
lb_05="No se ha podido verificar el archivo "
lb_06="Volver a Sellar o Verificar"
lb_07="Cargando"
lb_08="Arrastrá archivos aquí<br>ó"
lb_09="Seleccioná archivos <span class='sr-only'>para Sellar o Verificar</span>"
lb_10="Nombre del archivo: "
lb_11="Hash del archivo: "
lb_12="Sellar"
lb_13="Verificar"
lb_14=" Agregar archivos"
lb_15=" Copiar"
lb_16="Enlace de verificación"
lb_17="Remover archivo"
lb_18="Seleccionar otros archivos"
lb_19=" Solo se pueden agregar "
lb_20=" archivos por vez">
</div>
```
Para embeberlo en otro contexto hay que copiar el div ```<div id=app>```, los estilos ```link``` y el script ```tsa2.js``` del body.
## Desarrollo
En caso de necesitar realizar cambios en la UI.
### 1. Setup del proyecto
``` ```
npm install npm install
``` ```
### Compiles and hot-reloads for development ### 2. Compila y tiene un live-reload para desarrollar
``` ```
npm run serve npm run serve
``` ```
### Compiles and minifies for production **Importante:** Siempre tratar de poner en el wording/texto de la app como atributo en el HTML para poder facilitar los cambios de texto/traducciones sin tener la necesidad de compilar.
### 3. Después de realizar los cambios es necesario hacer un build para compilar y minimizar en la carpeta ```dist```.
``` ```
npm run build npm run build
``` ```
### Run your tests ### 4. Corré el test para verificar que no haya errores
``` ```
npm run test npm run test
``` ```
### Lints and fixes files ### 5. Arreglo de lints
``` ```
npm run lint npm run lint
``` ```
### Customize configuration ### Si se requiere más configuración
See [Configuration Reference](https://cli.vuejs.org/config/). Ver [Configuration Reference](https://cli.vuejs.org/config/).
...@@ -32,7 +32,7 @@ ...@@ -32,7 +32,7 @@
<p>El servicio de Sello de Tiempo de BFA permite demostrar que el contenido de cualquier documento digital existió en un momento y que desde entonces, no ha cambiado. Al sellar un archivo, cualquiera podrá verificar el día y la hora en que su hash fue almacenado en Blockchain Federal Argentina. Tené en cuenta que el documento seleccionado nunca se sube a la red, garantizando su privacidad.</p> <p>El servicio de Sello de Tiempo de BFA permite demostrar que el contenido de cualquier documento digital existió en un momento y que desde entonces, no ha cambiado. Al sellar un archivo, cualquiera podrá verificar el día y la hora en que su hash fue almacenado en Blockchain Federal Argentina. Tené en cuenta que el documento seleccionado nunca se sube a la red, garantizando su privacidad.</p>
<p class="font_small"><a href="https://bfa.ar/sello">Si tenés un archivo con Recibo Digital (.rd) verificalo aquí</a></p> <p class="font_small"><a href="https://bfa.ar/sello">Si tenés un archivo con Recibo Digital (.rd) verificalo aquí</a></p>
<div id="app" <div id="app"
apiurl="http://10.10.0.7:3000" apiurl="https://tsa2.buenosaires.gob.ar"
lb_00=" El archivo " lb_00=" El archivo "
lb_01=" fue enviado con éxito para ser sellado" lb_01=" fue enviado con éxito para ser sellado"
lb_02="Se ha producido un error al intentar sellar " lb_02="Se ha producido un error al intentar sellar "
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment